9

如果按下一个键,我想要一个调用 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

有没有办法同时传递事件和对元素的引用?

干杯,马可

4

4 回答 4

10
<input type="text" name="chmod" value="644" onkeypress="chmod(event, this)">
于 2013-11-08T11:20:24.137 回答
2

您应该对事件中的元素有一个引用:event.target

于 2013-11-08T11:16:26.183 回答
2

我会做以下事情:

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

然后你的js:

function chmod(e) {
    var element = e.target;
    ...
}
于 2013-11-08T11:17:39.383 回答
0

this关键字已经在函数中

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

<input type="text" name="chmod" value="644" onkeypress="chmod">
于 2013-11-08T11:19:07.657 回答