如何向这个javascript/jquery函数添加参数?
这个脚本允许你点击一个你想要的元素,但是当你点击除该元素以外的任何东西时,它会淡出一些东西。在下面的代码中,我可以单击如何向这个javascript/jquery函数添加参数?,javascript,jquery,parameters,param,Javascript,Jquery,Parameters,Param,这个脚本允许你点击一个你想要的元素,但是当你点击除该元素以外的任何东西时,它会淡出一些东西。在下面的代码中,我可以单击$('.wrapper')中我想要的所有内容,但什么都不会发生,但是当我单击该元素之外的任何内容时,我有了$('.popup')淡出 (function hideElementOnOffClick(elementWrapper, elementToHide) { $(document).bind('click', function(evnt) { var
$('.wrapper')
中我想要的所有内容,但什么都不会发生,但是当我单击该元素之外的任何内容时,我有了$('.popup')
淡出
(function hideElementOnOffClick(elementWrapper, elementToHide) {
$(document).bind('click', function(evnt) {
var $target = $(evnt.target);
if ($target.is(elementWrapper) || elementWrapper.has(evnt.target).length) {
return;
}
elementToHide.fadeOut();
});
})();
然后调用包含两个元素类的函数:
hideElementOnOffClick($('.wrapper'), $('.popup'))
如果我使用$('.wrapper')
而不是elementWrapper,使用$('.popup')
而不是elementToHide,它是有效的,但是当我把它变成我可以在不同的地方用不同的类调用的东西时,它就不起作用了
如何修复参数以使其正常工作?
您可以使用
.stopPropagation()
停止事件传播,这使您的代码更加清晰
function hideElementOnOffClick(elementWrapper, elementToHide) {
elementWrapper.click(function(e) {
e.stopPropagation();
});
$(document).click(function(e) {
elementToHide.fadeOut();
});
}
您可以使用
.stopPropagation()
停止事件传播,这会使代码更加清晰
function hideElementOnOffClick(elementWrapper, elementToHide) {
elementWrapper.click(function(e) {
e.stopPropagation();
});
$(document).click(function(e) {
elementToHide.fadeOut();
});
}