1
<ul>
의 목록이있는 템플릿이 있습니다. 과 <a id='variable_id'>
의 ID가 다른 두 개의 템플릿이 있습니다. 이벤트를이 2 개의 ID (iniciais
및 palavras
)에 바인딩했습니다. 문제는, 예를 들어 iniciais
링크를 클릭하면 <ul>
에서 제거하고 id='palavras'
으로 새 링크를 만듭니다. 문제는이 새로운 링크가 이벤트가 바인드 된 events
해시에도 불구하고 바인드 된 이벤트가 없다는 것입니다. Backbone
하위 요소에서 jQuery
live
또는 on
메서드를 어떻게 수행 할 수 있습니까?새 ID를 가진 HTML 요소를 백본보기에 동적으로 추가하십시오.
var MyView = Backbone.View.extend({
el: '#campos',
initialize: function() {
},
이벤트가 두 가지 종류의 링크에 바인딩되어 있습니다.
events: {
'click #palavras': 'mudar_para_consulta_palavras',
'click #iniciais': 'mudar_para_consulta_iniciais'
},
이 방법에서는 목록에서 목록 항목을 제거하고 새 ID로 새 콘텐츠를 삽입합니다.
mudar_para_consulta_palavras: function() {
$('#campo_consulta').val('');
$('#campo_consulta').attr('placeholder', 'Digite palavras inteiras');
$("#campo_consulta").attr('tipo', 'chave');
$('#palavras').parent().remove();
$("<li><a id='#iniciais'>Consultar por Iniciais</a></li>").insertBefore('.divider');
},
다른 방법과 마찬가지로 id 정의 만 변경됩니다.
mudar_para_consulta_iniciais: function() {
$('#campo_consulta').val('');
$('#campo_consulta').attr('placeholder', 'Digite inicio de palavras');
$("#campo_consulta").attr('tipo', 'iniciais');
$('#iniciais').parent().remove();
$("<li><a id='#palavras'>Consultar por palavras</a></li>").insertBefore('.divider');
}
});
return MyView;
});
Omg, 그건 내 바보 같다. 많은 연구를 저에게 보내 주셔서 감사합니다. – MurifoX