Я использовал backbone.js 'click
' событие здесь. onClick, я хочу выбрать элемент HTML с щелчком, удалить его и добавить в добавленный список.Магистраль Click Свойства события
Я не могу получить доступ ко всему элементу HTML dom, где я нажал. После получения HTML-элемента.
Если я нажму «Китай», приведенный ниже код будет предупреждать «<li>China</li>
».
Итак, как мне получить доступ ко всем свойствам dom? Код
Java Script:
var ActionBox = Backbone.View.extend({
el:$("#container"),
events: {
"click #add li": "addItem",
"click #alert": "alertHere"
},
initialize: function(){
_.bindAll(this,"addItem","render");
this.render();
},
render:function(){
this.prepareActions();
},
addItem:function(ev){
var ac=$(ev.target).html(); // it doesn't give me "<li>US</li>" after clicking US
alert(ac);
},
prepareActions:function(){
var str="";
for(var i=0;i<actions.length;i++) str+="<li>"+actions[i]+"</li>";
$("#add ul").append(str);
}
});
var actionBox = new ActionBox();
и HTML код, как показано ниже:
<div id="container">
<table>
<tr>
<td>
<div id="add">
<ul>
<li>US</li>
<li>China</li>
<li>UK</li>
</ul>
</div>
</td>
<td>
<div id="controls">
</div>
</td>
<td>
<div id="added">
<ul></ul>
</div>
</td>
</tr>
</table>
</div>
Есть два ул контейнеры, добавить и добавил, если я нажимаю элемент из источника, он должен быть перенесен в целевой контейнер.
прохладный .. +1. Это решает проблему. но, можете ли вы сказать, почему .html() jquery нельзя использовать там? Это означает, что $ (ev.target) не дает мне фактического элемента DOM. –
.html() дает вам то, что находится внутри элемента .get (0) дает вам сам элемент. Если имеется более 1 элемента, используйте get (1), get (2) –
gr8. $ ($ (ev.target) .get (0)). html() дает мне то, что мне было интересно :) –