遮罩层的“确定”按钮点击不起作用
本帖最后由 xyb_yuan 于 2021-10-31 18:52 编辑一个phpwind论坛。发帖时会弹出一个警告窗口,点击确定才能发帖。
用开发者工具查看dom结构如下:
<div class="layui-layer-btn layui-layer-btn-">
<a class="layui-layer-btn0">确定</a>
</div>
于是,在油猴脚本里有如下代码, 用的jquery:
$('a.layui-layer-btn').click()
可是,这段代码死活不起作用。通过前后打印输出,代码确实运行了,也不报错。就是没有效果。
我详细查看了手动操作时的情况。很简单,就是鼠标单击“确定”,然后遮罩层消失。
xyb_yuan 发表于 2021-11-2 00:28
楼上的,这三种写法一毛一样啊。 都是无效的。
延迟时间后执行试试
unsafeWindow.$('a.layui-layer-btn0').click() 试试
再不行真的是有限制,那无能为力了,找大佬去吧 直接把这个提示框display:none管用吗 打印 $('a.layui-layer-btn') 看看有没有定位到吧,我觉得是没有的,如果有也是一批数组,jQuery的click,应该是只click第一个 可能是找错按钮了
代码调试debugger去看看定位到哪了 打印那个选择器是没毛病的。 在console里调试那个选择器,确实找到了,切只有一个。
直接删除那个对话框,遮罩层还在,还是什么也操作不了。 有没有试过在控制台里调用click呢?如果控制台里也无效,那可能就是做了检测。另外有时在一些回调函数里调用click也有问题,原因跟执行顺序有关,可以用setTimeout 0包一下转成异步试试。还有遮罩层其实也是一个元素,能定位到的话直接屏蔽也可以。 在控制台里直接click() 也无效。 xyb_yuan 发表于 2021-11-1 08:06
在控制台里直接click() 也无效。
可能是有检测?
哥哥可以远程看看
QQ4548212 xyb_yuan 发表于 2021-11-1 08:06
在控制台里直接click() 也无效。
这种要分析得跟源码了,还是建议直接css把遮罩层干掉。
页:
[1]
2