使用this
关键字.
我知道这很简单.有点肮脏的问,但哦. (6认同)
James Tikals.. 11
实际上,您不需要将此作为参数传递给函数,因为您有一个可以访问的click事件对象.所以:
AnthonyWJone.. 7
我倾向于在HTML属性的所有函数调用中使用这种方法: -
onclick="SomeMethod.call(this)"
然后在javascript中执行: -
function SomeMethod() { this.setAttribute('name', this.id); }
当您还可以在Javascript代码中直接分配给事件处理程序属性时,这具有明显的优势: -
document.getElementById("someID").onclick = SomeMethod
如果SomeMethod将context元素作为参数,那么设置起来会非常尴尬: -
function(id) { var elem = document.getElementById(id) elem.onclick = function() { SomeMethod(elem); } }("someID");
更糟糕的是,这将是内存泄漏关闭.
使用this
关键字.
实际上,您不需要将此作为参数传递给函数,因为您有一个可以访问的click事件对象.所以:
我倾向于在HTML属性的所有函数调用中使用这种方法: -
onclick="SomeMethod.call(this)"
然后在javascript中执行: -
function SomeMethod() { this.setAttribute('name', this.id); }
当您还可以在Javascript代码中直接分配给事件处理程序属性时,这具有明显的优势: -
document.getElementById("someID").onclick = SomeMethod
如果SomeMethod将context元素作为参数,那么设置起来会非常尴尬: -
function(id) { var elem = document.getElementById(id) elem.onclick = function() { SomeMethod(elem); } }("someID");
更糟糕的是,这将是内存泄漏关闭.