所以我想在页面上按空格键时调用一个函数。唯一的问题是,如果函数集中在输入栏中,则无法调用该函数。关于如何做到的任何想法?
此代码有效,但在聚焦于输入栏时仍然会触发该功能
$(document).keydown(function(e){
if (e.keyCode==32) {
stopplay();
}
});
答案 0 :(得分:2)
更新到:
if (e.keyCode==32 && !$(e.target).is(':input')) {
stopplay();
}
:input
如果您有其他输入元素,例如select, textarea etc
,则会选择所有输入元素。
答案 1 :(得分:1)
<强> Demo 强>
使用 event.stopPropagation()
方法,以防止keydown冒泡。
$(':input').keydown(function(e){
e.stopPropagation();
});
更新
如果您必须将上述内容应用于其他输入元素,请使用$(':input')
选择器。
答案 2 :(得分:0)
那么你可以看看事件的起源:
$(document).keydown(function(e){
if(!$(e.target).is("input")) {
// it's NOT from an input!
}
});
答案 3 :(得分:0)
使用此代码
$(document).keydown(function(e){
if (e.keyCode==32 && !$(e.target).is("input")) {
stopplay();
}
});