我通常从不使用这种编程风格,但我想我会尝试一下,所以我知道它是什么。
这是我的输入标签HTML:
<input id="Read" type="checkbox" onclick="readClicked()" checked>
我的相关功能:
function readClicked() {
console.log(this);
console.log($(this));
alert('Read Clicked!');
}
无论如何都要引用从函数内部调用readClicked()的处理程序的元素? 类似的东西:
function readClicked() {
var caller = function.caller;
var type = $(caller).attr('type');
}
答案 0 :(得分:3)
将this
作为参数传递:
onclick="readClicked(this);"
然后你的功能是:
function readClicked(el) {
var type = $(el).attr('type');
}
虽然,因为你正在使用jQuery,我建议用jQuery绑定事件,而不是内联。像这样:
$("#Read, #OtherElement").on("click", clickHandler);
function clickHandler() {
var type = $(this).attr("type");
}
答案 1 :(得分:3)
<input id="Read" type="checkbox" onclick="readClicked(this)" checked>
function readClicked(elem) {
console.log(elem);
console.log($(elem));
alert('Read Clicked!');
}