如果页面的任何输入都在焦点上,我正在寻找一种不执行函数(e)的方法。 我尝试了几种不成功的方式;(
这是我的代码:
document.onkeyup=function(e){
var e = e || window.event;//Pour IE
// Action sur la barre d'espace (32)
if(e.which == 32) {
$("#play").click();
return false;
}
//Action sur entrée (13)
if(e.which == 13) {
$("#play").click();
return false;
}
}
我尝试了类似的东西
if ($('input').is(":focus")) {
}
else{ my code }
但它不起作用。
感谢您帮助我!
艾蒂安
答案 0 :(得分:1)
javascript中的onfocus事件
<!DOCTYPE html>
<html>
<body>
Enter your name: <input type="text" onfocus="myFunction(this)">
<p>When the input field gets focus, a function is triggered which changes the background-color.</p>
<script>
function myFunction(x) {
x.style.background = "yellow";
}
</script>
</body>
</html>
答案 1 :(得分:0)
由于我的问题重新制定,我找到了解决方案,已经在另一个stackoverflow线程中询问了它:Check to see if any Input elements are in focus。
所以,在这里适应我的代码是:
document.onkeyup=function(e){
var e = e || window.event;//Pour IE
if ( $('input:focus').length > 0 ) {}
else{ // if an input is not focused, the function is executed
// Space bar action (32)
if(e.which == 32) {
$("#play").click();
return false;
}
//Enter key action (13)
if(e.which == 13) {
$("#play").click();
return false;
}
}
}