JS onClick返回false和jQuery全局.click

我正在调试我的库在某人elses代码:它的一部分它是香草JS和我的库在jQuery中wirtten。 它有tabber.js(来自2006年的代码)选项卡,并且它具有连接到DOM的标签onclick事件,该事件调用return false

tabberObj.prototype.init = function(e)
{
    DOM_a = document.createElement("a") ;

    DOM_a.appendChild( document.createTextNode( t.headingText ) ) ;
    DOM_a.href = "javascript:void(null);" ;
    DOM_a.title = t.headingText ;
    DOM_a.onclick = this.navClick ;
    ...
};


tabberObj.prototype.navClick = function(event)
{
   ...
   return false;
};

这里是标签代码,其中有点击处理程序(第311行和第265行)。

在我的图书馆我有:

$(document).bind('click.terminal', function(e) {
    var sender = $(e.target);
    if (!sender.closest('.terminal').hasClass('terminal') &&
        settings.onBlur(self) !== false) {
        self.disable();
    }
});

我的代码会失败 在JS中返回false是否和jQuery一样。 将替换返回false由event.preventDefault()将使我的代码运行?

从症状看来,我的功能没有执行。 我尝试使用wget获取整个应用程序,但它没有运行。


...并且它具有连接到DOM的标签onclick事件,该事件调用返回false。

...将我的代码激发或返回false将像jQuery一样停止传播。

如果你的意思是标签上有onclick属性:

<div onclick="return someFunction();">...</div>

(注意,您所需要的return 属性),或者他们获得分配给该反映财产的处理程序:

someElementReference.onclick = someFunction;

...然后在该处理程序中return false将阻止点击的默认操作,但不会停止传播。 更多(在我的博客):关于return false的故事

但请注意,旧DOM0样式处理程序(如上所述)的相对于DOM2样式处理程序(如jQuery所添加的处理程序)的顺序未定义 。 一些浏览器首先启动DOM0处理程序,然后启动DOM2处理程序; 其他人则以相反的方式进行。 这并不重要,因为你没有采取任何措施来阻止传播(特别是,没有什么能够阻止立即传播到其他处理器上的相同元素),但它似乎值得大声呼喊。

链接地址: http://www.djcxy.com/p/3295.html

上一篇: JS onClick return false and jQuery global .click

下一篇: Explain ExtJS 4 event handling