man*_*j82 4 jquery backbone.js
我正在尝试在Backbone事件(View)中单击时获取div的data属性.
如果我单击div,我能够实现这一点,listItem但如果我要点击子元素跨度,它将失败,因为$(e.target)它将是跨度.
那么,即使单击子元素,如何获取父元素的data属性?
<div class="listItem" data-showInfo="true">
<span class="arrow"></span>
</div>
events:{
"click .listItem": function(e) {
var $listItem= $(e.target);
console.log($listItem.data('showInfo'));
}
}
Run Code Online (Sandbox Code Playgroud)
使用event.currentTarget而不是event.target,它将.listItem独立于您单击的DOM节点设置为选择器
var V = Backbone.View.extend({
events: {
'click .listItem' : function(e) {
console.log($(e.currentTarget).data('showinfo'));
}
}
});
Run Code Online (Sandbox Code Playgroud)
和演示http://jsfiddle.net/nikoshr/QyP3Z/
你可以这样做:
$('.arrow').click(function(){
alert($(this).parent().attr('data-showInfo'));
});
Run Code Online (Sandbox Code Playgroud)
你的例子就在这个JSFiddle中
| 归档时间: |
|
| 查看次数: |
14908 次 |
| 最近记录: |