firefox中需要双击(JQUERY)
我被建议使用这个,因为我遇到了问题,只有第二次点击时,链接才能在FireFox中工作。这是在名为leftColumn的div中显示外部html。firefox中需要双击(JQUERY)
$(function(){
$('#ulWithAllTheLinks').delegate('li a', 'click', function(e){
e.preventDefault;
$('#leftColumn').load(this.href);
});
});
我的问题是,这显示HTML在一个新的页面内容,我知道它有什么与此有关:
<ul id="one">
<li><a href="content.html">First Link</a></li>
</ul>
但我不知道如何此链接功能
event.preventDefault()
是一个函数,所以你需要括号就完了,就像这样:
$(function(){
$('#ulWithAllTheLinks').delegate('li a', 'click', function(e){
e.preventDefault();
$('#leftColumn').load(this.href);
});
});
没有.preventDefault()
(或return false;
)工作正常,默认行为将发生...去那个页面。
我一直倾向于'return false;' - 但前者是一种更有效的方法吗? – jakeisonline 2010-07-26 23:22:01
@jakeisonline - 它取决于你在做什么之后,例如,如果有另一个处理器在这个之上,就像一个'$(“a”)。live(...)'然后'return false'会使事件停止它的轨道,防止泡沫,而'e.preventDefault()'不会。作为一般规则,我使用“最轻”的方法去做需要的事情......它避免了必须追踪事件停止的地方......如果我有充分理由这样做,我只会停下来。这就是说,它主要是偏好,事件的实际性能差异是无限小的。 – 2010-07-26 23:30:03
啊,这很有道理。我想我一直只是需要停下来的事情死在它的轨道上。 – jakeisonline 2010-07-26 23:31:56
你的问题到底是什么?似乎有几个问题正在进行...... – balupton 2010-07-26 23:09:05
你说“我的问题是”,那么你发表一个声明。你在这里有什么问题? – 2010-07-26 23:09:55
只要询问他如何阻止超链接以默认方式运行,即如何在点击链接后停止浏览器? – jakeisonline 2010-07-26 23:26:59