确定谁触发了功能
Identify who triggered a function
我有一个问题,不确定如何使用 Javascript 来实现。
我有一个包含例如 2 个输入字段的页面,现在,我正在做的是 "onKeyUp" 调用一个函数并传递调用函数的参数。
有没有什么方法可以只调用函数,并从函数内部知道调用它的字段?
示例:
<input name="q1" id="q1" onkeyup="mirar('q1')" type="text" />
<input name="q2" id="q2" onkeyup="mirar('q2')" type="text" />
改成
<input name="q1" id="q1" onkeyup="mirar()" type="text" />
<input name="q2" id="q2" onkeyup="mirar()" type="text" />
EventTarget 应该会提供你所需要的。
function mirar()
{
alert("caller is " + mirar.caller);
}
或者,如果他们仍然传递一个参数,但相同的参数,是否可以接受?
<input name="q1" id="q1" onkeyup="mirar(event)" type="text" />
<input name="q2" id="q2" onkeyup="mirar(event)" type="text" />
function mirar(event) {
alert(event.target.nodeName);
}
您可以简单地传递 this
以在函数中引用它以了解实际调用函数的元素:
function mirar(el){
console.log('Id:', el.id)
}
<input name="q1" id="q1" onkeyup="mirar(this)" type="text" />
<input name="q2" id="q2" onkeyup="mirar(this)" type="text" />
我有一个问题,不确定如何使用 Javascript 来实现。
我有一个包含例如 2 个输入字段的页面,现在,我正在做的是 "onKeyUp" 调用一个函数并传递调用函数的参数。
有没有什么方法可以只调用函数,并从函数内部知道调用它的字段?
示例:
<input name="q1" id="q1" onkeyup="mirar('q1')" type="text" />
<input name="q2" id="q2" onkeyup="mirar('q2')" type="text" />
改成
<input name="q1" id="q1" onkeyup="mirar()" type="text" />
<input name="q2" id="q2" onkeyup="mirar()" type="text" />
EventTarget 应该会提供你所需要的。
function mirar()
{
alert("caller is " + mirar.caller);
}
或者,如果他们仍然传递一个参数,但相同的参数,是否可以接受?
<input name="q1" id="q1" onkeyup="mirar(event)" type="text" />
<input name="q2" id="q2" onkeyup="mirar(event)" type="text" />
function mirar(event) {
alert(event.target.nodeName);
}
您可以简单地传递 this
以在函数中引用它以了解实际调用函数的元素:
function mirar(el){
console.log('Id:', el.id)
}
<input name="q1" id="q1" onkeyup="mirar(this)" type="text" />
<input name="q2" id="q2" onkeyup="mirar(this)" type="text" />