1

我通常从不使用这种编程风格,但我想我会尝试一下,这样我就知道它是怎么回事了。

这是我的输入标签 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');
}
4

2 回答 2

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");
}

演示:http: //jsfiddle.net/mWLTw/

于 2013-05-30T14:53:50.643 回答
3
<input id="Read" type="checkbox" onclick="readClicked(this)" checked>

function readClicked(elem) {
    console.log(elem);
    console.log($(elem));
    alert('Read Clicked!');
}
于 2013-05-30T14:54:12.170 回答