普通的JavaScript版本的e.preventDefault();
使用以下基于jQuery的脚本,您可以停止虚拟链接的默认操作,即:
$('a').click(function(e) { e.preventDefault(); });
这个剧本的普通版本是什么?
我不是JavaScript程序员,但我认为它可能是使用return false;
东西return false;
。 再说一次,我可能完全错了。
在此先感谢您的帮助。
你也可以在vanilla javascript中使用event.preventDefault() 。 以通用方式,您始终可以使用return false
。 如果你附加一个事件处理程序,你可以保证在处理程序中传递事件agument而不是使用onclick
或元素的任何其他属性(在这种情况下,你应该依赖于处理程序中可用的特定事件对象)没有进入所有浏览器,比如在IE中你会使用window.event
)。
例如: –
document.getElementById('someId').addEventListener('click', function(e){ //say this is an anchor //do something e.preventDefault(); });
所以对于所有锚点:
var anchors = document.getElementsByTagName('a'); for(i=0, len=anchors.length; i
// Like $('a'), gets all the elements in the document. var aElements = document.getElementsByTagName('a'); // Create one function object instead of one per element. // The calling convention is the same for jQuery as for regular JS. function preventDefaultListener(e) { e.preventDefault(); } // For each a element, for (var i = 0, n = aElements.length; i < n; ++i) { // register the listener to be fired on click. aElements[i].addEventListener('click', preventDefaultListener); }
是的你可以使用return false;
test
@Ricardo你是对的,先生。
return false
不仅会禁用所述元素的默认操作,还会阻止冒泡。
e.preventDefault(); e.stopPropagation();
等于
return false;
你决定 :)