让原始的事件,我没有在手边的例子,但在某些情况下调用event.preventDefault()
让通过(浏览到另一个页面,提交表单等),但返回false帮助原始事件。什么会造成这种情况?是什么原因导致的preventDefault通过
0
A
回答
1
您没有举手的例子吗?好的,让我发明一个可能或可能不是你想象的东西。
请记住,return false;
相当于呼叫event.preventDefault();
和。 编辑:这适用于使用jQuery,其显式地实现了这种行为,也正常化event.preventDefault()
和event.stopPropagation()
在所有浏览器中使用。它在所有浏览器中都不是以“普通”JS的形式工作,事实上,旧版本IE根本不支持event.preventDefault()
,它们有自己的等价物event.returnValue = false;
如果您有嵌套元素并且处理相同的事件在几个级别上调用event.preventDefault()
不会停止外部元素的事件处理程序运行,但return false
将会因为它停止传播事件。
演示它的一个例子:http://jsfiddle.net/nnnnnn/KjLv3/
<a href="#"><span>Click me to see an alert</span></a>
// using jQuery for simplicity in the example:
$("a span").click(function(e){
e.preventDefault();
});
$("a").click(function() {
alert("Hello");
});
警报将显示。如果您将“跨度”处理程序更改为返回false,则不会显示警报。
1
event.preventDefault()阻止浏览器执行默认的动作(如果事件是取消),而不停止事件的进一步传播,而 返回假阻止事件传播(或“向上冒泡“)DOM,以及防止默认操作。
所以,
function() {
return false;
}
//等于
function(e) {
e.preventDefault();
e.stopPropagation();
}
相关问题
- 1. 导致此ArrayIndexOutOfBoundsException的原因是什么?
- 2. 导致此ArrayIndexOutOfBoundsException的原因是什么?
- 3. 什么原因导致com.aerospike.client.AerospikeException:java.io.EOFException?
- 4. 是什么原因导致CORDBG_E_CLASS_NOT_LOADED(HRESULT:0x80131303)
- 5. 是什么原因导致的算法过度拟合
- 6. 什么原因导致coldfusion.document.spi.DocumentExportException:java.lang.NullPointerException问题?
- 7. 什么原因导致“java.lang.IncompatibleClassChangeError:vtable存根”?
- 8. 什么原因导致“NoSuchMethodError:org.springframework.beans.BeanWrapper.setAutoGrowCollectionLimit(I)V?”
- 9. 什么原因导致“Unknown chromium error:-400”?
- 10. 什么原因导致'GTK_IS_MENU_ITEM(child)'失败?
- 11. 什么原因导致java minor gc
- 12. 什么原因导致参数为空?
- 13. 在我的Java程序中导致NullPointerException的原因是什么?
- 14. 在AWTEventMulticaster.mouseEntered()中导致无限递归的原因是什么?
- 15. 不知道是什么原因导致我的ArrayIndexOutOfBoundsException错误
- 16. 在Android中导致MotionEvent.ACTION_CANCEL的原因是什么?
- 17. MacOSX Sierra中导致libdispatch错误EVFILT_MACHPORT的原因是什么?
- 18. 在Safari中导致此行为的原因是什么?
- 19. 这段代码中导致段错误的原因是什么?
- 20. 在此代码中导致nullreference异常的原因是什么?
- 21. 在此代码中导致NullPointerException的原因是什么?
- 22. 导致rails应用程序崩溃的原因是什么?
- 23. Firefox中导致NS_ERROR_STORAGE_CONSTRAINT的原因是什么?
- 24. 这段代码中导致ArrayIndexOutOfBounds错误的原因是什么?
- 25. Ruby on Rails中导致此NoMethodError的原因是什么?
- 26. 在MySQL中导致重复PK的原因是什么?
- 27. 使用NSPredictate导致错误的原因是什么?
- 28. Mac OS X:导致旋转沙滩球的原因是什么?
- 29. 在Netty 4中导致BlockingOperationException的原因是什么?
- 30. 在Android中导致此ClassNotFoundException的原因是什么?
所以当'preventDefault'从工作,这是一个迹象,表明有一个更深层次的问题某处停止 '突然'? – Masse 2012-08-09 07:32:41
可能,可能。但是(根据我的编辑)与“普通”的JS,不同的浏览器(或浏览器的版本 - 认为IE)不一定表现相同的方式。如果您在某个阶段遇到更具体的问题,您应该发布有关显示问题代码的问题。 – nnnnnn 2012-08-09 07:38:14
大部分使用相同的浏览器。这是一个偶尔出现的问题,但令我感到不安的是,我不知道是什么原因造成的,以及这是否是更严重的迹象 – Masse 2012-08-09 07:56:25