我有一个图片库。当我点击它时,图像很突出,因为身体背景从白色变成了黑色。
当我再次单击图像时,它会恢复正常。
这就是我现在所拥有的:
$('img').click(function () {
$('body').toggleClass("darken");
});我希望我的用户能够点击页面上的任何地方,并删除类"darken“。
我尝试了hasClass语句,但没有成功。
if ($('body').hasClass('darken')) {
$('body').click(function () {
$(this).toggleClass("darken");
});
}非常感谢,Clément。
发布于 2013-02-07 20:00:05
您可以将click事件处理程序绑定到<body>。但是,一定要停止在img上传播单击事件。
var $body = $("body"), $img = $("img");
$img.click(function(evt) {
$body.toggleClass("darken");
evt.stopPropagation();
});
$(document).click(function(){
$body.removeClass("darken");
});发布于 2014-10-28 22:31:28
这是我使用的解决方案:
$(document).on('click', function(e) {
var $body = $( 'body' );
if(e.target.id && e.target.id === 'menu-btn') $body.toggleClass( 'navigation-opened' );
else if(e.target.tagName.toLowerCase() !== 'nav') $body.removeClass( 'navigation-opened' );
});发布于 2013-02-07 19:59:35
这可能会更简单,但也会做同样的事情:
$('body.darker').live('click', function() { $(this).removeClass('darker'); } )https://stackoverflow.com/questions/14750544
复制相似问题