$("#post-buy-table").on("click", 'tr:gt(0)', function(event){
alert(event.target.tagName);
})
这里执行后alert应该是tr吧,执行后为什么是td?怎样给tr绑定事件?
简单来说,你的event.target
改成event.currentTarget
才正确
https://www.google.com.hk/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=currentTarget%20target
因为事件是从 td
点击开始冒上来的,直接被 #post-buy-table
抓住,并分析出来冒的过程中经过了 tr
。
jQuery 对 event.target
的解释是
The DOM element that initiated the event.
所以显示出来提 TD
想取得 TR 可以用 this,也可以用 event.currentTaget
alert(this.tagName);
alert(event.currentTaget.tagName);
// jQuery 的习惯用法是:
// alert($(this).get(0).tagName);
// 或者 $(this).get(0).prop("tagName");