采用以下代码:
// Bind the click event to the thumbnails.
$("ul.hpList").on("click", "a.hpThumb", function (event) {
event.preventDefault();
var $this = $(this),
// Surely there has to be a smarter way to do this.
$hpList = $this.parents("ul.hpList");
changeItem($this, $hpList);
});
Run Code Online (Sandbox Code Playgroud)
如何更好地识别事件绑定的根祖先元素.我觉得搜索DOM很糟糕.
Mat*_*att 20
从jQuery 1.7开始,该delegateTarget属性包含在作为第一个参数提供给您的事件对象中,(根据文档),它为您提供:
附加当前调用的jQuery事件处理程序的元素.
所以请给以下一点;
$("ul.hpList").on("click", "a.hpThumb", function (event) {
event.preventDefault();
var $this = $(this),
var $hpList = $(event.delegateTarget);
changeItem($this, $hpList);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3653 次 |
| 最近记录: |