1

我是否应该真正需要用户或浏览器return false;function操作来触发?

例如:

$('myDiv').click(function(){ ... });

或者

function myFunction(){ ... }

这第二个稍后将click作为第一个出现在函数下方。

这个问题适用于 JQuery 和纯 Javascript。

4

3 回答 3

4

使用return false将阻止调用进一步的侦听器,以及默认事件(例如单击链接离开页面)。如果那是什么,那么return false,否则不要。

仍然会调用更多的侦听器,e.preventDefault()但不会触发默认反应(“单击链接时不要离开页面”)。

如果您都不这样做,稍后调用的侦听器仍然可以使用e.preventDefault()和/或return false

使用 jQuery,无需同时执行 ( e.preventDefault(); return false;)。JQuery 将为您调用 preventDefault,如果您return false.

至于链接的默认事件,我发现href="javascript:void(0)"效果最好;即使 JavaScript 被停用。

于 2013-10-31T23:30:34.920 回答
0

不,这将使活动无法履行其正常职责。

于 2013-10-31T23:28:18.583 回答
0

您可以在函数中的任何位置使用 event.preventDefault() 而不是返回 false。

$('#some-id').click(function(e) {
  e.preventDefault();
  //  …; 
});

对于简单的javascript:

document.getElementById('some-id').onclick = function(e) {
  e.preventDefault();
  //  …; 
};

您似乎在谈论已经具有默认行为(如<a>元素)的事件。我是这样回答的。但是对于没有的元素,没有必要

于 2013-10-31T23:28:26.363 回答