首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从javascript onkeydown中排除组件

如何从javascript onkeydown中排除组件
EN

Stack Overflow用户
提问于 2012-09-28 15:05:12
回答 1查看 135关注 0票数 0

这是可能的吗?

在我的页面上我得到了

<body onload="debug()" id="content" onkeydown="checkKey()" >

代码语言:javascript
复制
function checkKey() {
    if ((window.event.keyCode > 9) || (window.event.keyCode < 9)) {
        document.actionForm.saveStatus.value = "Not saved";
    }
}

但我不希望当用户只是转到页面并使用搜索表单提交搜索时发生这种情况,除非首先保存会话数据,因此我希望从checkkey()的搜索框中排除事件:

代码语言:javascript
复制
<input onkeypress="javascript:searchWithEnter('Oversikt','fastsearch')" title="Nummerformat:

PCT/SE2009/123456
PCTSE2009123456
PSE09123456

ITS/SE09/12345
ITSSE0912345
ISE0912345

1234567-8
12345678" type="text" size="40" name="fastsearch">
    <input type="button" value="Sök" onclick="javascript:doSubmitFastSearch('Oversikt','fastsearch')">

我是否应该从body标记中删除onkeypress,并将checkkey()设置为从单个组件调用?你有什么建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-28 15:17:46

您可以使用event.stopPropagation将事件停止到冒泡到<body/>

代码语言:javascript
复制
var stop = function(e) {
  e.stopPropagation();
};
var $el = document.getElementsByName("fastsearch")[0];
$el.onkeydown = stop;

但是,除非绝对必要,否则您应该考虑不要如此草率地将事件绑定到<body/>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12635188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档