jquery - javascript dom操作
伊谢尔伦
伊谢尔伦 2017-04-10 16:33:46
[JavaScript讨论组]
<p class="mskeLayBg">
    <p class="mskelayBox">
        <p class="mskeClaose"></p>
    </p>
</p>

$(document.body).on("click",".mskeClaose",function(){
        $(".mskeLayBg").hide();
});

我这样操作dom有什么问题吗?为什么在手机端他hide不掉的???
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(8)
PHP中文网

看到评论我惊悚了....
楼主的写法叫事件委托好么...代码木有问题的哈。
未达到预期效果原因应该是如下:

  1. jquery版本过低 < 1.7

  2. dom还未加载,js先执行

友情提示:手机click事件,通过touch/top等事件处理,或许会更好!!

阿神

测试了下,你把

$(document.body)
改成
$('.mskeLayBg')

原因不清楚,你把事件绑定到body,window,html,document都不行
还有既然用了jq,选择body用

$('body')

话说你是iOS吗?经过测试,安卓可以在body上绑定事件,但是iOS不行,估计上iOS的bug,不过一般没有这样搞的,绑定到上一级就行了,没必要绑定到body或者window上面

迷茫

用了jQuery,为什么还要用dom document.body; 这样混着用很不好

阿神
$(document).ready(function() {
    $(".mskeClaose").on("click", function() {
        $(this).hide();
    });
});
伊谢尔伦

你们这些说有问题的,都不写个例子自己测试一下,也是醉了!

这样写是没有问题的。
如果点击没办法隐藏,一定是因为别的什么原因,毕竟代码只有片段,再仔细看看吧。

PHP中文网

@看不懂未来 说的好,我第一眼看到楼主的代码感觉应该没啥问题才对,$(document.body)跟$('body')没啥太大的差别。然后自己亲自测试了一下,不管PC还是手机都可以隐藏,没什么问题,当然我不是用的真机,我用的chrome的自带的调试,不知道为什么楼主的有问题。PS:有个小猜测,楼主应该没忘记加载JQUERY库吧

伊谢尔伦

$(document.body).on("click touched",".mskeClaose",function(){

    $(".mskeLayBg").hide();

});

巴扎黑

LZ是写的事件委托。

正常的click事件后面添加一个callback就OK了。你的写法第二个参数是目标元素

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号