我遇到绑定jQuery事件的问题。jquery根据不同的选择器将事件分配给相同的元素
我有一个下拉列表,为了利益,我使用了所选的插件。这一直通过我的网页使用。
了下列样品:
<select name="Title" class="form-control chosen-select" id="Title" style="display: none;"><option value=""></option>
<option value="TMR">Mr</option>
<option value="TMRS">Mrs</option>
<option value="TDR">Dr</option>
<option value="TMS">Miss</option>
</select>
注类包含选择选而id =标题
的下一个比特是可见由生成的HTML选择(我相信是不需要的问题,而是解释显示:无以上,我包括完整性)
<div title="" class="chosen-container chosen-container-single" id="Title_chosen" style="width: 100%;"><a tabindex="-1" class="chosen-single"><span>Mrs</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off"></div><ul class="chosen-results"><li class="active-result" data-option-array-index="1">Mr</li><li class="active-result result-selected" data-option-array-index="2">Mrs</li><li class="active-result" data-option-array-index="3">Dr</li><li class="active-result" data-option-array-index="4">Miss</li></ul></div></div>
现在我有以下的“适用于所有”代码
$('.chosen-select').off('change').on('change', function() {
alert('In chosen');
});
我总是希望在任何下拉列表发生更改时触发此事件。这工作正常。
现在我有一个具体的下拉列表,我想有一个页面上发生特定的功能,但我也希望有上述火灾。我绑定这个ID
$('#Title').off('change').on('change', function() {
alert('title');
});
在这种情况下发生的事情是,只有#Title事件触发。
发生在我的一个解决方案是把“包罗万象”的代码放到一个功能,只需调用的事件处理函数还有#Title处理。
有没有更好的或可接受的方式来做到这一点?或者我的方法总体上可以改进吗?
顺便项目使用使用C#和剃刀语法MVC模式开发。
任何帮助或指导将非常感激
一个更好的解决方案,如果你能说明你为什么在代码中使用'off()',我们可能会给出更好的答案 –