星联网络专注帝国CMS二次功能插件开发-精品网站模板站长代码素材

  • 最近更新
  • 模板:33
  • 记录:12641|
  • 插件:52|
  • 工具:4|
  • 代码:8|
  • 评论:0

如何可以模拟通过jQuery的锚击?

前言

本文重点解决如何可以模拟通过jQuey的锚击?问题,希望能够帮助到你

下面是我的代码: <输入的onclick=“$('#thickboxId')单击();”类型=“按钮”值=“ <a id="thickboxId"“class="thickbox" title="">链接</ A> 当我直接点击该链接,如果我尝试通过输入按钮激活ThickBox的它总是有效,但不是。这是在FF。它似乎工作每任何提示?
本文地址 :CodeGo.net/45964/ 
------------------------------------------------------------------------------------------------------------------------- 
1. 尽量避免inline一样,你的jQuery的调用。把脚本标记在页面顶部绑定到click事件: <script type="text/javascript"> $(function(){ $('#thickboxButton').click(function(){ $('#thickboxId').click(); }); }); </script> <input id="thickboxButton" type="button" value="Click me"> <a id="thickboxId" href="myScript.php" class="thickbox" title="">Link</a> 编辑: 如果你试图模拟物理上点击链接,那么我不相信这是可能的.a种解决方法是更新按钮的click事件改变window.location在Javascript中: <script type="text/javascript"> $(function(){ $('#thickboxButton').click(function(){ window.location = $('#thickboxId').attr('href'); }); }); </script> 编辑2: 现在,我认识到ThickBox的是一个自定义的jQuery UI小部件,我发现这里的说明: 说明: 创建一个链接(<a href>) 给link一个class属性与ThickBox中的值(class="thickbox") 在href链接的属性添加下列主播:#TB_inline在href之后的属性#TB_inline添加下面的查询字符串到锚: ?高度=300&宽度=300&inlineId=myOnPageContent 改变高度,宽度和inlineId在查询中的值相应地(inlineID是的ID值包含您想在ThickBox显示的内容。 当然你也可以添加莫代尔=true添加到查询字符串(例如#TB_inline?height=155&width=300&inlineId=hiddenModalContent&modal=true),以便关闭ThickBox中需要调用tb_remove()从ThickBox的范围内发挥作用。看到隐藏的模式内容的例子 CodeGo.net,在那里你必须单击yes或no来关闭ThickBox的。 
2. 什么工作是: $('a.mylink')[0].click()
3. 我最近发现了如何通过jQuery触发click事件。 <script type="text/javascript"> var a = $('.path > .to > .element > a')[0]; var e = document.createEvent('MouseEvents'); e.initEvent( 'click', true, true ); a.dispatchEvent(e); </script>
4. 这种方法适用于Firefox和IE浏览器。希望它可以帮助 var comp = document.getElementById('yourCompId'); try { //in firefox comp.click(); return; } catch(ex) {} try { // in chrome if(document.createEvent) { var e = document.createEvent('MouseEvents'); e.initEvent( 'click', true, true ); comp.dispatchEvent(e); return; } } catch(ex) {} try { // in IE if(document.createEventObject) { var evObj = document.createEventObject(); comp.fireEvent("onclick", evObj); return; } } catch(ex) {}
5. 我建议你看看硒API来看看他们是如何触发一个点击的方式: 硒browserbot.js 查找BrowserBot.prototype.triggerMouseEvent函数。 
6. 问题标题说“我怎么可以模拟一个锚击在jQuery的?”。那么,你的“触发”或“triggerHandler”的方法,像这样: <script type="text/javascript" src="path/to/jquery.js"></script> <script type="text/javascript" src="path/to/thickbox.js"></script> <script type="text/javascript"> $(function() { $('#btn').click(function() { $('#thickboxId').triggerHandler('click'); }) }) </script> ... <input id="btn" type="button" value="Click me"> <a id="thickboxId" href="myScript.php" class="thickbox" title="">Link</a> 没有测试,这种实际的脚本,但我trigger前等,以及他们的工作a'ight。 更新triggerHandler实际上并没有做OP的想要的东西。我觉得1421968提供了对这个问题的最佳答案。 
7. 你需要假锚击?从ThickBox的网站: ThickBox中可以从一个链路输入(通常是一个按钮),并且区域(图像映射)被调用。 如果这是可以接受的应该是作为把ThickBox的类上的输入本身一样简单: <input id="thickboxButton" type="button" class="thickbox" value="Click me"> 如果没有,我会使用Firebug和放置一个断点在锚,看它是否只触发优先次点击。 编辑: 好吧,我不得不尝试为自己和几乎完全的代码在这两个和Firefox的工作: <html> <head> <link rel="stylesheet" href="thickbox.css" type="text/css" media="screen" /> </head> <body> <script src="jquery-latest.pack.js" type="text/javascript"></script> <script src="thickbox.js" type="text/javascript"></script> <input onclick="$('#thickboxId').click();" type="button" value="Click me"> <a id="thickboxId" href="myScript.php" class="thickbox" title="">Link</a> </body> </html> 窗口弹窗不管我点击输入或锚如果上面的代码对你的作品,我建议你的错误出在其它地方,并且您尝试隔离问题。 另一种可能是,我们不同版本的jQuery / ThickBox的。我什么我从ThickBox的页面了-jQuery的1.3.2和ThickBox的3.1。 
8. 你可以通过jQuery或与模仿你的链接的href动作的HTML页面代码中创建一个表单:<a id="anchor_link" href="somepath.php">click here</a>. var link = $('#anchor_link').attr('href'); $('body').append('<form id="new_form" action="'+link+'"></form>'); $('#new_form').submit();
9. 用法理的剧本我做了这个,可以轻松地“点击”只要你想很多。 我是谷歌阅读器上1600 +的项目和它的工作完美(在Firefox中)! var e = document.createEvent('MouseEvents'); e.initEvent( 'click', true, true ); $(selector).each(function(){this.dispatchEvent(e);});
10. 为了模拟点击一个锚,当登陆的网页上,我的jQuery的scrollTop的属性动画$(document).ready.无需触发,并且在IE 6和所有其他的浏览器。 
11. 如果您不需要JQuery的,因为我不知道。我有问题的跨浏览器函数.click()。所以 eval(document.getElementById('someid').href)
12. 我相信你 $('#yourLink').bind('click', function() { //Do something over here }); $('#yourLink').trigger('click'); 这很容易触发点击函数,而无需实际点击它。 
13. JQuery('#left').triggerHandler('click');在Firefox和IE7中工作正常。我没有在其他浏览器进行了测试。 如果要触发点击请执行以下操作: window.setInterval(function() { $('#left').triggerHandler('click'); }, 1000);
14. 在Javascript中你可以这样做 function submitRequest(buttonId) { if (document.getElementById(buttonId) == null || document.getElementById(buttonId) == undefined) { return; } if (document.getElementById(buttonId).dispatchEvent) { var e = document.createEvent("MouseEvents"); e.initEvent("click", true, true); document.getElementById(buttonId).dispatchEvent(e); } else { document.getElementById(buttonId).click(); } } 而你也喜欢 submitRequest("target-element-id");
15. 虽然这是很老的问题,我发现就好办了这个任务。它是由所谓的jQuery UI的模拟团队开发的jQuery插件。你可以jQuery的后包括它,然后你可以不喜欢 <a href=" CodeGo.net $('a').simulate('click');

本网刊登的文章均仅代表作者个人观点,并不代表本网立场。文中的论述和观点,敬请读者注意判断。

本文地址:http://www.xlkjgs.com/notes/js/3130.html

以上内容由本站整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

星联网络

星联网络是中国最具实战的互联网创业者的知识服务商,这里有互联网行业动态,网络推广,SEO优化,SEM优化,ESC配置,行业经验分型,互联网项目,微信营销、淘宝客赚钱、新媒体营销、京东运营、跨境电商等众多互联网营销知识分享

站长运营站长必备网站运营之道才能长久发展