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