相关疑难解决方法(0)

JavaScript中"$"符号的含义是什么?

在以下JavaScript代码中,有一个dollar($)符号.这是什么意思?

$(window).bind('load', function() {
    $('img.protect').protectImage();
});
Run Code Online (Sandbox Code Playgroud)

javascript

155
推荐指数
6
解决办法
24万
查看次数

addEventListener在IE8中不起作用

我动态创建了一个复选框.我曾经addEventListener在点击复选框时调用了一个函数,该复选框适用于Google Chrome和Firefox,但在Internet Explorer 8中不起作用.这是我的代码:

var _checkbox = document.createElement("input");
_checkbox.addEventListener("click", setCheckedValues, false);
Run Code Online (Sandbox Code Playgroud)

setCheckedValues 是我的事件处理程序.

javascript addeventlistener internet-explorer-8

116
推荐指数
3
解决办法
11万
查看次数

为什么JavaScript中的某些函数调用被称为"非法调用"?

例如,如果我这样做:

var q = document.querySelectorAll;

q('body');
Run Code Online (Sandbox Code Playgroud)

我在Chrome中收到"非法调用"错误.我想不出为什么这是必要的任何理由.首先,并非所有本机代码功能都是如此.事实上我可以做到这一点:

var o = Object; // which is a native code function

var x = new o();
Run Code Online (Sandbox Code Playgroud)

一切正常.特别是在处理文档和控制台时我发现了这个问题.有什么想法吗?

javascript invocation

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

在激活开发人员工具之前,使用JS的网站在IE9中不起作用

我正在开发一个复杂的网站,它充分利用了jQuery和许多脚本.在加载网站时,我的脚本都没有工作(虽然我可以确认其他脚本运行正常).除了一件事,我不会在SE上发布这样一个蹩脚的问题:

我点击F12打开开发人员工具,以便我可以调试我的问题,一切都立即完美!

更糟糕的是,如果我关闭浏览器,启动它,首先打开Dev Tools并访问该站点,一切都按预期工作.

所以我甚至无法调试这个问题因为Dev Tools修复了它!Dev Tools可以做些什么让事情发挥作用?它是否改变了UA(我做了一些jQuery.browser检测)?它对doctype有用吗?

编辑

我的所有控制台日志记录都包含在以下包装器实用程序函数中:

   function log(msg){
    if (console){
        console.log(msg);
    }
   }
Run Code Online (Sandbox Code Playgroud)

我可以尝试的任何想法或建议都会受到欢迎.如果我找到解决方案,我会在这里发布.

javascript internet-explorer-9

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

为什么JavaScript函数别名不起作用?

我有一些Firebug控制台函数调用,我想在Firebug未启用时禁用,例如未定义控制台.这适用于IE6和FF3,但不适用于Chrome:

var log;

if(console){
  log = console.log;
}else{
  log = function(){ return; }
}
Run Code Online (Sandbox Code Playgroud)

我在Chrome中收到"未捕获的TypeError:非法调用"= /

我在这里读到了这个问题,你必须应用一个上下文,这对我来说是一种新的...我似乎无法想象如何在所有浏览器中完成上述操作......

javascript firebug alias google-chrome function

21
推荐指数
2
解决办法
5203
查看次数

使用document.querySelector进行非法调用

可能重复:
JavaScript函数别名似乎不起作用

相关jsfiddle:http://jsfiddle.net/cWCZs/1/

以下代码完美运行:

var qs = function( s ) {
    return document.querySelector( s );
};
qs( 'some selector' );
Run Code Online (Sandbox Code Playgroud)

但以下不是:

var qs = document.querySelector;
qs( 'some selector' ); // Uncaught TypeError: Illegal invocation
Run Code Online (Sandbox Code Playgroud)

我不明白为什么.

我的困惑来自于这样的事实:

function t() {
    console.log( 'hi' );
}
var s = t;
s(); // "hi"
Run Code Online (Sandbox Code Playgroud)

javascript dom

19
推荐指数
1
解决办法
2375
查看次数

未捕获的TypeError:addEventListener上的非法调用

我得到了Uncaught TypeError: Illegal invocation这个尝试的两个版本都放下了一个EventListener :(我应该在添加监听器时收到错误,而不是在我点击目标时)

ronan.addEventListener("click", alert, false);

addEventListener.apply(ronan, ["click", alert, false]);

ronan是一个div由控制台成功返回的元素,所以我不认为这是问题所在.有什么想法我得到这个错误?我读了这个帖子,我无法弄明白.

javascript addeventlistener

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

jQuery和$问题

我正在修改一些有很多jQuery的代码,但我不确定某些jQuery语句在做什么.

在jQuery代码的顶部有

jQuery.noConflict
Run Code Online (Sandbox Code Playgroud)

*1.我明白那个.但是有一些代码有:

<script type="text/javascript">
(function($) {

$(document).ready(function() {

    jQuery.fn.fixEmail = function() {
    {
   return $(this).each(function() {
       var $s = $(this);                  
           ...code...
        }
}
</script>
Run Code Online (Sandbox Code Playgroud)

我得到jQuery被使用因为noConflict.什么是参数$?

*2.在另一个功能中,他们使用

<script type="text/javascript">
jQuery(function(){
    var $ = jQuery;
    var cc = {
        mode : 'teaser',
        featureVisible : true,
        $loader : '<p class="loadingAnimation"><img height="32" src="' +
                config.xoImgUrl +
                '/images/ajax-loader.gif" width="32" /></p>',
                ....more code...
            }
}
</script>
Run Code Online (Sandbox Code Playgroud)

所以他们从noConflict设置$ jQuery.但为什么?他们刚刚使用过jQuery吗?

*3.我想要使​​用的插件由以下内容初始化:

   var $j = jQuery.noConflict();
    var $ = {};
    $j(document).ready(function(){
        $j.history.init(pageload);
        $j("a[@rel='history']").click(function(){
            ...more code...
        });
    }); …
Run Code Online (Sandbox Code Playgroud)

jquery

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

在Javascript中为document.getElementById创建别名

我怎么能将函数"document.getElementById"别名,我已经看到它使用$完成了

谢谢

javascript alias function

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

什么时候在javascript OO中使用它?

在Javascript OO中,我何时应该使用this关键字?

另外,如果我想从同一个类的另一个方法调用类的方法,我应该使用this还是只使用函数的名称?这是对的吗?

function Foo()
{
   this.bar= function()
   {
      alert('bar');
   }

   this.baz= function()
   {
     this.bar(); //should I use this.bar() or just bar()?
   }
}
Run Code Online (Sandbox Code Playgroud)

javascript oop scope

8
推荐指数
1
解决办法
4740
查看次数