我只是想知道如何使用JavaScript来模拟元素上的点击.
目前我有:
<script type="text/javascript">
function simulateClick(control)
{
if (document.all)
{
control.click();
}
else
{
var evObj = document.createEvent('MouseEvents');
evObj.initMouseEvent('click', true, true, window, 1, 12, 345, 7, 220, false, false, true, false, 0, null );
control.dispatchEvent(evObj);
}
}
</script>
<a href="http://www.google.com" id="mytest1">test 1</a><br>
<script type="text/javascript">
simulateClick(document.getElementById('mytest1'));
</script>
Run Code Online (Sandbox Code Playgroud)
但它不起作用:(
有任何想法吗?
我有一个问题,通过jQuery伪造一个锚点击:为什么我的厚箱出现在我第一次点击输入按钮,但不是第二次或第三次?
这是我的代码:
<input onclick="$('#thickboxId').click();" type="button" value="Click me" />
<a id="thickboxId" href="myScript.php" class="thickbox" title="">Link</a>
Run Code Online (Sandbox Code Playgroud)
当我直接点击链接时,它总是有效,但如果我尝试通过输入按钮激活厚箱,则无效.这是在FF.对于Chrome,它似乎每次都有效.任何提示?
我试图用jquery触发超链接上的click事件,如下所示.超链接没有任何ID但它确实有cssclass
$(document).ready(function () { $('.cssbuttongo').trigger('click'); });
Run Code Online (Sandbox Code Playgroud)
上述功能无效.这是超链接
<a href="hyperlinkurl" class="cssbuttongo">hyperlink anchor</a>
Run Code Online (Sandbox Code Playgroud)
谢谢你的回答.
我想使用JavaScript模拟页面上任何链接的点击.如果该链接具有与其"onclick"事件绑定的某些功能(由任何其他JS我没有任何控制),则必须调用该函数,否则链接应以正常方式运行并打开新页面.
我不确定只检查'onclick'处理程序的值就足够了.我想构建它,以便它适用于任何链接元素.
我无法使用任何JS库(不一定是jQuery)或简单地使用JavaScript来控制可能绑定到链接的onclick事件的函数.
编辑:在下面的答案的帮助下,看起来可以检查使用jQuery附加的事件处理程序或使用该onclick属性.如何检查使用addEventListener/任何其他JS库附加的事件处理程序,以便它是万无一失的?
我有一段JavaScript,它A在现有div 中动态创建一个标签,然后在其上调用jQuery函数"click".这适用于除Safari之外的所有浏览器.
Safari返回以下错误:
'undefined'不是函数(评估'$('.shell a')[0] .click()')
关于我做错了什么或者为什么这在Safari中不起作用以及如何使其工作(或者在所有浏览器中都能运行的一段代码)的任何想法我都试过使用.trigger("click")它也会出现同样的错误.
function writeAndClickLink(url) {
$('.shell').html('<a href="' + url + '"></a>');
$('.shell a')[0].click();
}
Run Code Online (Sandbox Code Playgroud)
在HTML中:
<div class="shell"></div>
Run Code Online (Sandbox Code Playgroud)
我这样做的原因很简单,就是从Flash网站调用这个函数来打开一个推特窗口,我在那里给予推文奖励.到目前为止,这是我可以将"tweet"事件绑定到窗口的唯一方法.如果我以任何其他方式打开窗口(例如window.open),它不捕获绑定事件,让我知道他们实际完成了推文.
流程如下:
我正在弄清楚为什么这个简单的脚本不起作用:
jQuery.noConflict();
jQuery(document).ready(function() {
jQuery('.next_button a').trigger('click');
});
Run Code Online (Sandbox Code Playgroud)
noConflict 是必要的,因为我也在这个页面加载原型/ scriptaculous.
如果我.trigger('click')用另一个函数替换(es:.css(...)这个效果很好.只有触发似乎会破坏.
我试图弄清楚我一直有这个奇怪的问题,根本原因是实时点击和触发之间.click()的区别.
我不会详细介绍问题,但基本上当你点击输入按钮时它工作正常(有一个onclick事件).但是,如果我.click()从其他地方打电话(而不是实际点击按钮),它就无法正常工作.
我的问题是 - 有没有办法真正复制按钮上的实际点击?
编辑
问题:我正在打开一个加载内联PDF的新窗口(aspx页面).如果我实际点击链接,窗口打开正常,PDF加载.如果我.click()打开窗口,系统会提示我下载PDF文件.我一直在阅读有关提示的Adobe Reader设置,浏览器设置和注册表设置 - 我知道这些可能是大局的因素,但是现在我关注为什么鼠标点击和.click之间的行为( )正在做任何不同的事情.
我有一个带锚标记的页面.在我的JavaScript中,我HREF根据一些if-else条件动态设置锚标记的属性.现在我想以编程方式调用anchor标记的click事件.我使用下面的代码,但没有成功.
var proxyImgSrc="CostMetrics.aspx?Model=" + model +"&KeepThis=true&TB_iframe=true&height=410&width=650";
document.getElementById("proxyAnchor").href=proxyImgSrc;
document.getElementById("proxyAnchor").onclick;
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我如何继续吗?我在这个链接上有一个jQuery灯箱实现(thickbox).
好心提醒.提前致谢.
我目前正在开发一个Web应用程序,我需要打开一个弹出窗口来显示报告.问题是某些版本的资源管理器不支持window.open javascript函数,所以在这种情况下我抓住错误并用location.href打开新的url.这里的代码:
try {
window.open(url, "","width=1002,height=700,location=0,menubar=0,scrollbars=1,status=1,resizable=0")
} catch(e) {
location.target = "_blank";
location.href = url;
}
Run Code Online (Sandbox Code Playgroud)
问题是location.target无法正常工作,我想知道是否有办法指定location.href的目标,以便可以在新选项卡中打开它.
可能重复:
如何通过jquery模拟锚点击?
出于某种原因,我认为这很容易.这是我的代码:
$('#someDamnedDiv').live('click', function () {
$('a', this).trigger('click');
});
Run Code Online (Sandbox Code Playgroud)
Sam Hill的功能有什么问题?
假设我有2个链接a1和a2,并且隐藏了a2.当用户点击a1时,我想模拟点击a2.如何用jQuery完成?