首页新闻找找看学习计划

jQuery点击按钮

0
悬赏园豆:10 [已解决问题] 解决于 2010-09-10 09:03

我想做个按钮点击,

就是javascript中的:

document.getElementById('btnTest').click();

请问如何做?

问题补充: 大概我没说清楚,我是想实现别的方法触发click事件(比如onload之后就触发),不是手点上去之后触发。 ———————————————————————————— 我查手册发现如下代码可以,做个按钮自动点击这么麻烦? $(document).ready(function() { $("#btnTest").bind('myEvent', function(event, msg1) { alert(msg1); }); $('#btnTest').trigger("myEvent", ["aa"]); })
lightwalker的主页 lightwalker | 初学一级 | 园豆:14
提问于:2010-08-17 12:05
< >
分享
最佳答案
0

使用以下代码,在页面加载完成后为btnTest注册click事件

jQuery(document).ready(function()

{

      jQuery("#btnTest").click(function(){

              alert("test");

      }

});

 

$('#btnTest').trigger("myEvent", ["aa"]);这样写就没问题

不过我看你在楼下的评论里说会不断刷新?那是因为你是绑定在服务器控件上的,而服务器控件点击会回发页面,导致每次都会执行到jQuery(document).ready这句话,所以会不断刷新,成了一个死循环,你需要在页面上放一个hidden(hfIsPostBack)控件默认为false,在后台代码中按钮的点击事件里将这个hidden(hfIsPostBack)设为true,用以标识当前页面是否是回发,如果是回发则不触发$('#btnTest').trigger("myEvent", ["aa"]);  

代码如下:

jQuery(document).ready(function()

{

      jQuery("#btnTest").click(function(){

              alert("test");

      }

      if(jQuery("#<%=hfIsPostBack%>").val()=="false")

      {

               jQuery("#btnTest").trigger("click");

       }

});

收获园豆:10
kyo-yo | 大侠五级 |园豆:5587 | 2010-08-17 12:50
谢谢你的回答,不过请参看一下我的问题补充,谢谢
lightwalker | 园豆:14 (初学一级) | 2010-08-17 14:01
@山顶洞人:$('#btnTest').trigger("myEvent", ["aa"]);这样写就没问题,不过我看你在楼下的评论里说会不断刷新?那是因为你是绑定在服务器控件上的,而服务器控件点击会回发页面,导致每次都会执行到jQuery(document).ready这句话,所以会不断刷新,成了一个死循环,你需要在页面上放一个hidden控件默认为true,在后台代码中按钮的点击事件里将这个hidden设为false,用以标识当前页面是否是回发,如果是回发则不触发$('#btnTest').trigger("myEvent", ["aa"]);
kyo-yo | 园豆:5587 (大侠五级) | 2010-08-18 14:36
多谢
lightwalker | 园豆:14 (初学一级) | 2010-09-10 09:03
其他回答(4)
0

<script type='text/javascript' src='' />

function clickTest()
{         
  $("#btnTest").click();
}
HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-17 12:15
谢谢你的回答,不过我把方法放到body的onload,还是没有触发点击事件,请参看问题补充,谢谢
支持(0) 反对(0) lightwalker | 园豆:14 (初学一级) | 2010-08-17 14:00
0

将你要点击后触发的事件逻辑封装成一个function 方法〔〕{}

怎么调用也可以。

按钮:就直接onclick=“方法()”

onload=“方法()” 、onfouce=“方法()” onblur="方法()".楼主到底要什么呢

邢少 | 园豆:10922 (专家六级) | 2010-08-17 14:05
比如页面加载完就触发按钮的click事件,而不是用手去点按钮再触发click
支持(0) 反对(0) lightwalker | 园豆:14 (初学一级) | 2010-08-17 14:07
onload=“点击一下按钮”
支持(0) 反对(0) lightwalker | 园豆:14 (初学一级) | 2010-08-17 14:10
@山顶洞人:点击按钮肯定有执行的“操作”吧。你直接把操作的方法名写这不就行了
支持(0) 反对(0) 邢少 | 园豆:10922 (专家六级) | 2010-08-17 18:01
0

你是想触发Button的服务器端事件吧。

在你想调用的地方 $("#Button1").trigger("click"); 这样写就可以了。

szny | 园豆:60 (初学一级) | 2010-08-17 14:22
对,触发哪个事件没关系,只要能做一下“点击按钮”这个操作就可以的。你的方法我试了,确实可以,但是页面会不断刷新诶,为什么呢。
支持(0) 反对(0) lightwalker | 园豆:14 (初学一级) | 2010-08-17 14:32
肯定是你放错地方了。把你的代码贴出来,让大家给你分析。
支持(0) 反对(0) szny | 园豆:60 (初学一级) | 2010-08-20 16:41
0

Mark

帕特里克 | 园豆:118 (初学一级) | 2011-04-19 16:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册