如何让jQuery onclick函数返回元素而不是事件



我有一个名为deleteTask的函数,它目前只执行console.log(this)

<input type="button" value="Delete Task" onclick="deleteTask()"/>(注意这是在jQuery函数中,而不是在HTML文件中(返回[object Window]

del.onclick = deleteTask;(其中del是输入按钮(返回被点击的对象,在本例中为<input>

如何使jQuery版本的输出类似于纯JS版本?

您可以使用Function#call,但通常最好使用addEventListener

function deleteTask() {
console.log(this)
}
<input type="button" value="Delete Task" onclick="deleteTask.call(this)" />

在jQuery中,您可以这样设置它:

html:

<input type="button" value="Delete Task" data-role='delete' />

脚本:

$(document).ready(function() {
$('[data-role=delete]').click( deleteTask )
})
function deleteTask() {
// element clicked is this -- or if you want it ready for JQ: $(this)
}

最新更新