event.prventDefault()持续多久
How long does event.preventDefault() last?
本文关键字:prventDefault event 更新时间:2023-09-26
如果您在特定keyCode
的keypress
事件上调用preventDefault()
,默认情况会被阻止多久?它是在浏览器会话的生命周期内使用,还是仅在加载特定页面时使用?stopPropagation()
的行为是否相同?
一些示例代码:
<script type="text/javascript">
<![CDATA[
function keydownhandler(e)
{
switch (e.keyCode)
{
case VK_BACK:
case 461:
preventDefault();
break;
default:
break;
}
}
document.addEventListener("keydown", keydownhandler, true);
]]>
</script>
preventDefault()
防止发生默认操作,即按下回车键时浏览器发布form
。对于该事件实例,此默认操作将被永久阻止。下次按下enter
时,您需要防止按下该键。
stopPropagation()
阻止事件向下冒泡到发生事件的元素之上的所有元素,即:
<div>
<a></a>
</div>
如果您单击div的<a>
-标记,直到它也得到一个冒泡的click
-事件。stopPropagation()
将阻止这种情况。
编辑:在您的情况下,keyCode
==VK_BACK
或461
的每个事件都将被阻止,以进行默认操作。
对于该特定事件的特定实例,它被永久阻止。
如果第二次按下某个键,这将调用keypress
事件的第二个实例,因此其默认事件不会因为第一个事件被阻止而被阻止。
preventDefault是在传递给处理程序函数的事件实例上操作的,因此,如果您有两个具有两个不同"更改"事件处理程序的输入,那么如果其中一个具有preventDefault,它们将不会同时停止。
stopPropagation与其对传递给处理程序的事件的操作完全相同。
相关文章:
- event.prventDefault()持续多久
- 绕过jQuery中的event.prventDefault()
- 为什么event.prventDefault()和'return false'停止我的AJAX表单提交操
- Javascript:除了使用event.prventDefault()之外,让Chrome for Android启动
- event.prventDefault()不工作(jQuery实时)
- event.prventdefault()在mozilla中不起作用,但在chrome中运行良好
- event.prventDefault()不在使用touchstart的Android平板电脑上
- event.prventDefault()在Android上的keypress事件中不起作用
- 为什么Internet Explorer在使用event.prventDefault()或返回false时在函数后停止
- event.prventDefault()没有't避免打开链接
- event.preventDefault?event.prventDefault():event.returnValue
- event.prventDefault()适用于Chrome、Firefox,但不适用于Safari
- 为什么event.prventDefault()无法取消angular js中的$routeChangeStart事件
- event.prventDefault()和event.returnValue均为false don'不适用于F
- event.prventDefault()不起作用
- 在event.prventDefault()之后,jQuery.off(unbind)不起作用
- event.prventDefault()在mozilla上不起作用
- 如果未完成event.prventDefault(),则在('submit')中未执行console.l
- event.prventDefault()在angular.js和jquery中不起作用
- a href="中的event.prventDefault()#"不会't防止在IE和Fir