2016-01-15 74 views
0

如何從函數data-bind上的div獲取id?來自數據綁定功能的ID

這不起作用:

window.APP = { 
    models: { 
     court_a: kendo.observable({ 
      court_a_touch_unit_1: function (e) { 
       var id = $(e.item).attr('id'); 
       console.log(id); 
      }, 
     }), 
    } 
}; 

<div data-role="touch" id="court_a_touch_unit_1" data-bind="events: { touchstart: court_a_touch_unit_1 }"> 
    <img class="unit_image" data-bind="attr: { src: images[1].url }" /> 
</div> 

回答

0

這會爲你工作:

court_a_touch_unit_1: function (e) {  
    var id = e.sender.element.attr("id"); 
    console.log(id); 
}, 

,或者使用數據-ID更容易,使用此:

court_a_touch_unit_1: function() { 
    var id = $(event.target).data('id'); 
    console.log(id); 
}, 

<div data-role="touch" id="court_a_touch_unit_1" data-id="1" data-bind="events: { touchstart: court_a_touch_unit_1 }"> 
    <img class="unit_image" data-id="1" data-bind="attr: { src: images[1].url }" /> 
</div> 

你想將數據ID放在兩個元素中,因爲用戶可以點擊圖像或div。
TCGB

+0

@whitelettersinblankpapers thank you;我試圖將我的知識添加到stackoverflow hivemind和谷歌搜索 – xinthose

+1

將代碼添加到答案或問題時,請不要使用代碼片段功能,除非代碼實際上會以添加方式工作。你正在將'court_a_touch_unit_1:function()'從它所屬的對象中取出,它實際上不會在代碼片段中工作,所以沒有理由使用它。另外,如果你確實使用了這個代碼片段,一定要添加所有必需的庫,否則,添加代碼片段並不重要。 ) – DelightedD0D

+1

@ DelightedD0D好的,謝謝;我現在明白了 – xinthose