0
我有一個小部件,它的工作原理與選擇器(但不是真正的)很相似。我使用event.stopPropagation()來控制包含元素的下拉列表,但問題是,當頁面上有多個元素時 - 我可以同時打開多個下拉列表。jquery,widget控件的event.stopPropagation
是否有任何可能的方法來解決這個問題?
的jsfiddle:http://jsfiddle.net/Ls9gas2h/
控制的點擊是在76至88行:
this.clicktarget.on('click', function (event) {
if (source.options.allfields) {
if (!$(event.target).hasClass('deadfield')) {
event.stopPropagation();
source._open($(event.target));
source._runcheck();
}
} else {
event.stopPropagation();
source._open($(event.target));
source._runcheck();
}
});
不是最好的方式,小部件邏輯不能跟隨受控元素之外。 – Dazvolt 2014-09-05 09:02:24
@Dazvolt好吧,你可以通知所有元素,他們應該使用更新後的代碼來關閉......一般來說,只能通知所有元素,或者保留所有元素的列表併爲每個元素調用'_close'。 – Regent 2014-09-05 09:36:40
非常感謝,這正是我需要的。 – Dazvolt 2014-09-05 09:47:39