小编dan*_*man的帖子

通过嵌套母版页从内容页面访问body元素

我想要做的就是<body>从内容页面的代码隐藏中访问元素并为其添加类名.

我有一个包含<body>元素的顶级母版页.然后我有一个嵌套的母版页,它是内容页面的母版页.从内容页面后面的代码我想要一个类名称添加到body元素.就这样.

我在顶级大师中有这个:

<body id="bodyNode" runat="server">
Run Code Online (Sandbox Code Playgroud)

我将此添加到内容页面的代码隐藏中:

Master.bodyNode.Attributes.add("class", "home-page");
Run Code Online (Sandbox Code Playgroud)

我收到一条消息:

System.Web.UI.MasterPage'不包含'bodyNode的定义

如果我将其添加到aspx内容页面:

<% @ MasterType VirtualPath="~/MasterPage.master"%>
Run Code Online (Sandbox Code Playgroud)

该消息然后更改为:

由于其保护级别,bodyNode无法访问

请注意,我已经浪费了2个小时的感觉,这应该是非常简单的事情:(

asp.net

5
推荐指数
1
解决办法
1万
查看次数

IE中的jQuery工具提示定位问题

我有一个IE的问题(多么令人惊讶).我在我的页面上制作了一个问题报告功能(报告错误图像...).我想用几个问题来展示"报告此图像"的简单形式(报告的理由......).它应该在单击报告图像后显示.它在FF和Chrome中都很完美,但IE中存在问题.Div应显示在鼠标点击位置.第一次它显示在正确的位置,但当我关闭它并点击另一个报告图像而不重新加载页面(网站上有更多的报告图像)它再次显示在它第一次显示的同一个地方(只是在IE中) ).这是我的代码:

$(document).ready(function(){
  $(".proofreporter").click(function(e){
    $('.popup').remove();  //used to remove previously shown elements

    $.ajaxSetup ({
    // Disable caching of AJAX responses
      cache: false
    });


    // setTimeout(function(){$('.popup').remove()},2000);

    var name = $(this).attr('id');
    function showData(data) {
        $("body").append(data);
    }
    //x = e.pageX;   first I tried this to get position but same result
    //y = e.pageY;

    var pos = $(this).offset(); 
    x=pos.left;
    y=pos.top;

    alert(x + 'x' + y);
    $.get('includes/reporter.php?reportimgdiv=' + name + '&x=' + x + '&y=' + y, showData);
  });
});
Run Code Online (Sandbox Code Playgroud)

以下是reporter.php的代码

if(isset($_GET['reportimgdiv']))


{       //report …
Run Code Online (Sandbox Code Playgroud)

css jquery internet-explorer

5
推荐指数
1
解决办法
837
查看次数

如何使用 jasmine 对 document.ready() 函数进行单元测试

如何使用 Jasmine 测试 document.ready 块?更具体地说,如果我有一个像这样的块:

$(document).ready(
    function () {
        abc = true;
    }
});
Run Code Online (Sandbox Code Playgroud)

如何使用 Jasmine 测试文档准备好后是否调用了内部函数?

jquery document-ready jasmine

5
推荐指数
2
解决办法
7649
查看次数

ReferenceError:找不到变量:地图

我正在使用Angular 4,Webpack 2.4.1,Karma 1.6和Jasmine 2.6.1,并且正在编写ES2015 而不是 TypeScript

我有一个微型的角度演示应用程序,我想添加单元测试。演示应用程序本身正在运行,Webpack正确捆绑了所有内容,但是当我尝试运行单元测试时,我在控制台中看到一些错误,如下所示:

ReferenceError:找不到变量:地图

在Static / js / app.welcome.js:2569

app.welcome.js是我的组件的名称)

Webpack似乎在正确构建我的测试包,Karma服务器正确启动,PhantomJS正确启动,但是随后我看到了一些Map错误。

绝对不在Map()自己的代码中使用构造函数。

这是我的文件-

app.welcome.js

import {Component} from '@angular/core';

class WelcomeComponent {
    constructor () {
        this.welcomeMessage = 'Welcome to Angular 4';
    }
}

WelcomeComponent.annotations = [
    new Component({
        selector: 'my-app',
        template: '<h1>{{welcomeMessage}}</h1>'
    })
];

export {WelcomeComponent};
Run Code Online (Sandbox Code Playgroud)

app.welcome.spec.js

import {TestBed} from '@angular/core/testing';
import {WelcomeComponent} from '../../js/app.welcome';

describe('The Welcome component', function () {

    let component;

    beforeEach(function() {
        TestBed.configureTestingModule({
            declarations: [WelcomeComponent] …
Run Code Online (Sandbox Code Playgroud)

javascript jasmine karma-runner webpack-2 angular

5
推荐指数
1
解决办法
5976
查看次数

ng-keypress不触发功能

我是AngularJS的新手.我正在AngularJS中实现ng-keypress事件.我提到了许多博客,并尝试按照显示的方式进行,但我的代码无效!

    <div ng-app="myApp">
        <div ng-controller="MainCtrl">
            <input  ng-keypress="change($event)" type="text" >
            {{ text }}
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

脚本是:

    var myApp = angular.module('myApp', []);

    myApp.controller('MainCtrl', ['$scope', function ($scope) {
        $scope.change=function($event){
            $scope.text= 'a';
        };
    }]);
Run Code Online (Sandbox Code Playgroud)

我正在尝试在按键上更改{{text}}的值..但它不起作用!谁能帮我吗!

谢谢 :)

keypress angularjs

4
推荐指数
2
解决办法
1万
查看次数

使用Ionic和Webpack导入ngstorage时无法解析模块'angular'

我正在使用Ionic与Webpack和Typescript实现一个应用程序.我通过npm安装'ngstorage'并尝试导入条目ts文件,但Webpack显示错误 - '无法解析模块'angular''.

我搜索了这个错误并意识到我需要在package.json文件和node_modules中包含angular.但是,ionic-sdk模块已经包含了角度.所以它反而在浏览器中显示一个不可接受的错误,我试图多次加载角度.

Webpack是否有办法跳过模块解析器或指向角度模块到ionic-sdk模块的路径?或者有其他建议的进口方式吗?

谢谢.

javascript angularjs ionic-framework webpack

4
推荐指数
1
解决办法
2622
查看次数

为什么我不能在ap标签内使用标题标签并使用CSS设置样式?

这是我的代码:

<html>
    <head>
        <style>
              div p h1 {
                  background-color: red;
              }
       </style>
    </head>
    <body>
        <div>
            <p><h1>hello2</h1></p> 
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

html css3

4
推荐指数
1
解决办法
7877
查看次数

Typescript声明文件包含没有成员实现的类定义

当我查看Backbone声明文件时,我看到了:

export class Router extends Events {
    ...
    constructor (options?: RouterOptions);
    initialize (options?: RouterOptions);
    ...
}
Run Code Online (Sandbox Code Playgroud)

以及其他类没有实现的方法定义的地方.我认为这种语法是为接口保留的.编译器允许它传入声明文件,但不传入我自己的ts文件.

.d.ts.ts扩展的编译规则之间是否存在差异?如果是这样,这些类的类应该如何以不同的方式使用?

javascript typescript

3
推荐指数
1
解决办法
4897
查看次数

模拟服务返回承诺:无法读取未定义的属性

我正在使用 Karma 和 Jasmine 进行单元测试。我有 app.js 作为主要源文件:

app.service("someServ", function(){
  this.sendMsg = function(name){
    return "Hello " + name;
  }
})

app.factory("appFactory", function ($q, someServ) {
  function getData() {
    var defer = $q.defer();
    defer.resolve("Success message");
    return defer.promise;
} 

function foo(){
    var text = someServ.sendMsg("Message");
    alert(text);
}
return {
    getData : getData,
    foo : foo
}
})

app.controller("mainController",['$scope','$http','appFactory',function($scope, $http, appFactory){
var mct = this;
mct.printData = function(){
    var myPromise = appFactory.getData();
    myPromise
        .then(function(data){
            alert("Promise returned successfully. Data : " + data);
        }, function(error){ …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing angularjs karma-jasmine

3
推荐指数
1
解决办法
4806
查看次数

角材料5暗色主题不适用于身体

我创建了一个“自定义”主题,(使用位于https://material.angular.io/guide/theming的主题文档,这很糟糕),如下所示:

@import '~@angular/material/theming';
@include mat-core();

$ip-primary: mat-palette($mat-indigo);
$ip-accent: mat-palette($mat-pink, A200, A100, A400);
$ip-theme: mat-light-theme($ip-primary, $ip-accent);
$ip-theme-dark: mat-dark-theme($ip-primary, $ip-accent);

.indigo-pink {
  @include angular-material-theme($ip-theme);
}

.indigo-pink-dark {
  @include angular-material-theme($ip-theme-dark);
}
Run Code Online (Sandbox Code Playgroud)

我的index.html包含以下内容:

<body class="mat-app-background mat-typography">
  <app-root></app-root>
</body>
Run Code Online (Sandbox Code Playgroud)

app-root组件的容器中,我使用以下方法在自定义类名(indigo-pinkindigo-pink-dark)之间切换:

<div [ngClass]="appTheme">
Run Code Online (Sandbox Code Playgroud)

我还使用以下方法将CDK覆盖容器类设置为我的自定义类名称:

setContainerClass(className: string): void {
  const containerClassToKeep = 'cdk-overlay-container';
  const overlayClassList = this.overlayContainer.getContainerElement().classList;
  const existingClasses = Array.from(overlayClassList);

  existingClasses.forEach(classToken => {
    if (classToken !== containerClassToKeep) {
      overlayClassList.remove(classToken);
    }
  });

  overlayClassList.add(className);
}
Run Code Online (Sandbox Code Playgroud)

主要问题是,当我切换到深色主题时,确实看到indigo-pink-dark类名已正确添加到我的应用程序组件容器中,但是只有一些样式发生了变化(例如,顶部的工具栏变暗,而Material组件)-主体页面保持白色。主题指南(和其他博客文章)说,使用mat-app-background应该可以解决此确切问题。 …

angular-material angular angular-cdk

3
推荐指数
2
解决办法
4691
查看次数