Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:传递事件和元素引用_Javascript_Function_Events_Onkeypress - Fatal编程技术网

Javascript:传递事件和元素引用

Javascript:传递事件和元素引用,javascript,function,events,onkeypress,Javascript,Function,Events,Onkeypress,我想要一个输入字段,如果按下一个键,它将调用javascript函数。但我无法传递事件以及元素引用。我可以通过以下活动: <input type="text" name="chmod" value="644" onkeypress="chmod(e)"> 或传递元素引用: <input type="text" name="chmod" value="644" onkeypress="chmod(this)"> 如果我尝试传递这两个参数,则会出现错误: <

我想要一个输入字段,如果按下一个键,它将调用javascript函数。但我无法传递事件以及元素引用。我可以通过以下活动:

<input type="text" name="chmod" value="644" onkeypress="chmod(e)">

或传递元素引用:

<input type="text" name="chmod" value="644" onkeypress="chmod(this)">

如果我尝试传递这两个参数,则会出现错误:

<input type="text" name="chmod" value="644" onkeypress="chmod(e, this)">

Uncaught ReferenceError: e is not defined

未捕获引用错误:未定义e
是否有方法同时传递事件和元素引用


干杯,马可

你应该有一个对事件中元素的引用:
事件。目标

我会做以下事情:

<input type="text" name="chmod" value="644" onkeypress="chmod">

关键字已在函数中

<script>
function chmod(e) {
    var elem = this;
}
</script>

<input type="text" name="chmod" value="644" onkeypress="chmod">

函数chmod(e){
var elem=这个;
}


您有权使用像jQuery这样的JavaScript库吗?这是一个很好的例子(跨浏览器的痛苦),通过使用库,您可以单独定义事件处理程序,并将它们绑定到要在其上使用它们的字段。。。克服IE遗留全局事件对象的限制,并通过内联事件处理程序在其他浏览器中手动传递事件。jQuery的按键事件处理程序:例如,谢谢。这也是一个解决办法。
<script>
function chmod(e) {
    var elem = this;
}
</script>

<input type="text" name="chmod" value="644" onkeypress="chmod">
<input type="text" name="chmod" value="644" onkeypress="chmod(event, this)">