javascript-如何在第一次按下回车键时触发第一个onclick事件来停止元素
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何在第一次按下回车键时触发第一个onclick事件来停止元素,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1547字,纯文字阅读大概需要3分钟。
内容图文
![javascript-如何在第一次按下回车键时触发第一个onclick事件来停止元素](/upload/InfoBanner/zyjiaocheng/696/7c3cb219f79249c3ae7a07e219497f0e.jpg)
我正在修复一个jsp页面中的错误,即使在该页面中,即使使用onkeypress事件定义了一个函数,也可以在第一次打开该页面时单击特定按钮(实际上是具有onclick属性的按钮图像),然后再输入键按下它抛出一个错误.
当我调试代码时,我发现实际上同时进行了两个调用,即也单击了具有onclick属性的第一个按钮.
这只是一个示例代码
<html>
<head>
</head>
<body>
<div onkeypress =handleEnter()>
name <input type="text" src='Create.gif' >
</br>
<input type="image" src='Create.gif' onclick="alert('not done')">
<input type="image" src='Create.gif' onclick="alert('done')">
</div>
</body>
<script>
function handleEnter()
{
if(window.event.keyCode==13)
{
alert('nothing');
event.cancelBubble=true;
}
}
</script>
</html>
在按下回车键时,两个函数都被调用
解决方法:
以下可能会起作用.通过阻止按键的默认操作,它应该阻止浏览器触发标准的“表单提交”,这是我认为正在发生的事情.
function handleEnter(e)
{
e || (e = window.event); /// support for both ie and non-ie browsers
if(e.keyCode==13)
{
alert('nothing');
// old ie support
e.cancelBubble = true;
e.returnValue = false;
// non-ie
e.preventDefault && e.preventDefault();
e.stopPropagation && e.stopPropagation();
}
}
但是,您必须记住,如果要防止在整个页面上使用默认输入,它将使它在文本区域和可能使用输入的其他地方停止工作.如果这是一个问题,则可以根据以下条件决定是否阻止默认操作:
var elm = e.srcElement || e.target;
榆树应该包含事件的触发元素. scrElement适用于旧版IE,目标适用于非IE浏览器.例如,您可以使用它来缩短代码,直到达到prevent默认值.
if ( elm.nodeName == 'textarea' ) return;
我没有IE8来测试它,但是考虑以下链接,它可能会起作用:
http://support.microsoft.com/kb/298498
内容总结
以上是互联网集市为您收集整理的javascript-如何在第一次按下回车键时触发第一个onclick事件来停止元素全部内容,希望文章能够帮你解决javascript-如何在第一次按下回车键时触发第一个onclick事件来停止元素所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。