我在隐藏数组中的元素时遇到了一些问题。我把所有元素隐藏在一个数组中,我用.each()
循环。但不知何故,元素不会消失:/
这是我的代码:
$('html').bind("click", function(e) {
var hiddenElements = ['#loginContainer'];
$.each(hiddenElements, function(index, value) {
$(value).hide();
});
});
答案 0 :(得分:0)
您可以尝试使用each
循环,而不是使用 $('html').bind("click", function(e) {
var hiddenElements = ['#loginContainer'];
$(hiddenElements.join(',')).hide();
});
循环。
{{1}}
答案 1 :(得分:0)
您可以使用一些自定义事件类型的插件。例如
$.fn.outside = function(ename, cb){
return this.each(function(){
var $this = $(this),
self = this;
$(document).bind(ename, function tempo(e){
if(e.target !== self && !$.contains(self, e.target)){
cb.apply(self, [e]);
if(!self.parentNode) $(document.body).unbind(ename, tempo);
}
});
});
};
然后使用
$('#ElementToHide').outside('click', function(e) {
$(this).hide();
});