扫码关注官方订阅号
我的代码如下:
this is a test click me
请问各们大神,为什么$('#testId').click()并未起作用,input file没有弹出选择框?
认证高级PHP讲师
用户有行为触发才可以。
$('#testId').trigger("click");
那个方法名称用click确实会存在问题,举个例子<html> <body>
<button onClick="click()">hit me</button>
<script> function click() {
alert("123");
} </script> </body> </html> 你会发现点击没效果。至于你那个问题的话,先看看ajax能请求成功吗
你需要这样写 $(this).click();
jsonp返回的格式是什么样的,callback() ? 跨域请求返回的是方法名,不执行success的
实际上你并没有触发'.test',每次点击的实际上是'#btn'按钮, 两个方法: 1、监听'.test'改成监听'#btn':
$('body').on('click', '#btn', function(e){...});
2、更改dom,将<button id="btn"><span class="test">click me</span></button>改为:
<span class="test">click me</span>
根据button标签的定义,button标签里面包含的是button的内容,所以button里面不应该包含其他dom节点,题主这是乱写嵌套,显然浏览器不会处理button里面的节点,只当做是内容来处理,所以你给button里面的内容添加事件监听是永远无法触发的。另外,方法名是可以用click的,毕竟题主的click方法是全局的,而jQuery的click方法是jQuery里面的变量,两者不冲突
<!DOCTYPE html> <html> <head> <title>this is a test</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> </head> <body> <input type="file" id="testId"/> <button id="btn"><span class="test">click me</span></button> <script> function click(){ $('#testId').click(); } $(function(){ $('.test').on('click', function(){ $.ajax({ url : '/public/index.php?s=index/index/hello', method : 'GET', dataType : 'json', async: false, success : function(data){ click(); } }); }); }); </script> </body> </html>
不知道你出于什么用意,要通过body去绑定click事件,你没有完整的上下文,所以我也直接给出了代码,如果有问题可以继续讨论
jsonp成功后调用callback,你看看你的callback是啥function吧
function click()中"click"是一个保留字,你试试使用其他的方法名
你触发click事件了吗?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
用户有行为触发才可以。
$('#testId').trigger("click");
那个方法名称用click确实会存在问题,举个例子
<html>
<body>
<button onClick="click()">hit me</button>
<script>
function click()
{
}
</script>
</body>
</html>
你会发现点击没效果。至于你那个问题的话,先看看ajax能请求成功吗
你需要这样写 $(this).click();
jsonp返回的格式是什么样的,callback() ? 跨域请求返回的是方法名,不执行success的
实际上你并没有触发'.test',每次点击的实际上是'#btn'按钮,
两个方法:
1、监听'.test'改成监听'#btn':
2、更改dom,将<button id="btn"><span class="test">click me</span></button>改为:
根据button标签的定义,button标签里面包含的是button的内容,所以button里面不应该包含其他dom节点,题主这是乱写嵌套,显然浏览器不会处理button里面的节点,只当做是内容来处理,所以你给button里面的内容添加事件监听是永远无法触发的。
另外,方法名是可以用click的,毕竟题主的click方法是全局的,而jQuery的click方法是jQuery里面的变量,两者不冲突
不知道你出于什么用意,要通过body去绑定click事件,你没有完整的上下文,所以我也直接给出了代码,如果有问题可以继续讨论
jsonp成功后调用callback,你看看你的callback是啥function吧
function click()中"click"是一个保留字,你试试使用其他的方法名
你触发click事件了吗?