在Firefox中给出错误“d未定义”,在JQuery中给IE中的“处理程序未定义”

时间:2011-03-15 08:14:29

标签: jquery

我正在使用JQuery 1.4.2,下面的代码在使用JQuery 1.3之前就已经开始工作了,你能不能用下面的代码来说明问题,好像我评论了这段代码,然后页面上没有错误。

$(".load-control").each(function()         
        { 
            var $objThis = $(this);
            var fname = $objThis.attr("href");          
            ($objThis).bind("click",false); //Removing the attached click event 

        });

请建议!!

3 个答案:

答案 0 :(得分:1)

使用unbind删除处理程序:

$(".load-control").each(function()         
{ 
    var $objThis = $(this);
    var fname = $objThis.attr("href");          
    $objThis.unbind("click"); //Removing the attached click event handler
});

以上内容将从元素中删除所有 click个处理程序。如果您只想删除之前设置的特定内容,则可以执行此操作,例如:

// Earlier, when setting up
$(".load-control").each(function()
{
    $(this).click(handleLoadControlClick);
});

// The unhooking code you quoted
$(".load-control").each(function()         
{ 
    var $objThis = $(this);
    var fname = $objThis.attr("href");          
    $objThis.unbind("click", handleLoadControlClick); // Remove that specific handler
});

// The handler
function handleLoadControlClick(event) {
    // ...
}

以上链接的文档中的更多信息。

(偏离主题:$objThis电话中bind周围的问题没有任何意义,所以我将其删除了。)

答案 1 :(得分:0)

尝试($objThis).bind("click",function(){return false;});或取消功能

答案 2 :(得分:0)

尝试解除绑定功能$($objThis).unbind("click")