源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JavaScript 模拟用户单击事件

  • 时间:2022-02-18 05:35 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JavaScript 模拟用户单击事件
一开始,我想到了用jQuery的click()事件来触发超链接的单击事件(与trigger("click")一样的效果)。结果发现不如人意。 实例如下: 效果图 IE: [img]http://files.jb51.net/upload/2009-12/20091231201347737.JPG[/img] FireFox: [img]http://files.jb51.net/upload/2009-12/20091231201347775.jpg[/img]  
[url=http://www.google.cn]
当单击:Click Me按钮时,先后弹出提交按钮被单击、超链接被单击的对话框,这表明两者的单击事件都被触发了。然而,从地址栏中可以看到,提交按钮的单击事件触发后,执行了它的默认行为:提交表单;可是超链接的单击事件触发后,并没有链接到目标地址。(不要怀疑说是提交按钮的提交地址对超链接有影响,因为我去掉提交按钮,只留下超链接也不会链接到目标地址。) 也许jQuery中的click()方法对超链接的单击事件并没有使其执行浏览器的默认行为(即使你手动加入return true也没有用)。注意:tigger("click")与click()一样的。jQuery文档中说“这个函数也会导致浏览器同名的默认行为的执行”。同名的?不太明白,但是超链接的确不能执行它的默认行为。这是,只能想另外的方法——抛弃jQuery提供的事件。 回到JavaScript自己的事件——click。代码如下:
[url=http://www.google.cn]</body> </html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JavaScript模拟用户单击事件——徐新华 polaris</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8">     <!-- 引入jQuery -->     <script type="text/javascript" src="scripts/jQuery/jquery-1.3.2.js"></script>     <script type="text/javascript"><!--         /**         * 模拟用户单击事件 处理超链接的问题         * @author xuxinhua         */         $(function()         {             $("#btn").click(function()             {                 $("#submit").click();                 // 绑定单击事件                 $("#aLink").click(function()                 {                     window.open($(this).attr("href"),$(this).attr("target"));                 });                 // 触发单击事件(会执行所有绑定的单击事件处理函数)                 $("#aLink").click();             });         }); // --></script> </head> <body>     <h3>请单击”Click Me"。测试提交按钮与超链接是否也被单击了。</h3>     <button id="btn">Click Me</button>     <form action="#">         <input type="text" name="userName" value="徐新华-polaris" readonly/>         <input id="submit" type="submit" value="别点击此按钮提交" onclick="alert('触发了提交按钮的单击事件!');"/>     </form>     <a id="aLink" href="http://www.google.cn" target="_self" onclick = "alert('触发了超链接的单击事件!');">代码触发超链接</a> </body> </html>
注意:需要此处需要先绑定一个click处理函数,然后再触发click事件 总结: 网上有一些JavaScript模拟用户单击事件的文章,但是都不全面,总会有这样那样的问题。虽然,我在此列举了众多的方法,觉得基本的问题都应该解决了,然而还是有可能有人遇到新的问题。如果遇到什么问题,可以跟我一起探讨……
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部