0
我想隱藏兩個類別爲notify-me
和write-review
的元素,點擊頁面上的任何位置,但不會在這兩個元素上。在頁面上的任何位置點擊隱藏兩個元素
如何使用原型做到這一點?
現在,如果我點擊即使疊加,他們正在關閉。
PS:我將點擊事件附加到body
。
我想隱藏兩個類別爲notify-me
和write-review
的元素,點擊頁面上的任何位置,但不會在這兩個元素上。在頁面上的任何位置點擊隱藏兩個元素
如何使用原型做到這一點?
現在,如果我點擊即使疊加,他們正在關閉。
PS:我將點擊事件附加到body
。
試試這個:
$(document).on('click', function (e) {
var re = /(^|\s)(notify-me|write-preview)(\s|$)/;
if (re.test($(e.target).classNames())) return false;
$$('.notify-me', '.write-preview').invoke('hide');
});
這裏是一個改進版本,它通過目標元素的祖先冒泡:
$(document).on('click', function (e) {
var re, els, iterator;
re = /(^|\s)(notify-me|write-preview)(\s|$)/;
els = [$(e.target)].concat($(e.target).ancestors());
iterator = function (el) { return re.test(el.classNames()); };
if (els.find(iterator)) return false;
$$('.notify-me', '.write-preview').invoke('hide');
});
這裏是一個演示:http://jsfiddle.net/wared/U7E2a/。
oops .. up這工作像魅力..是在壓力..所以沒有在當時接受:) ..謝謝 –