Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML<;a>;本机单击事件_Javascript_Html_Click_Native_Href - Fatal编程技术网

Javascript HTML<;a>;本机单击事件

Javascript HTML<;a>;本机单击事件,javascript,html,click,native,href,Javascript,Html,Click,Native,Href,有没有办法在javascript中以编程方式调用标记的本机单击事件?.trigger('click')或.click()函数将不起作用,因为它们触发的是链接的onClick事件,而不是URL后面的事件。我需要以编程方式单击一个隐藏链接,然后跟随该链接到同一浏览器中的新选项卡。Window.open也不起作用,因为这会导致弹出窗口,我正在努力避免。我需要这个,因为我在服务器端动态生成一个URL,并通过JSON发送响应。然后,我用生成的URL填充隐藏链接的HREF属性。如果我能得到一个关于如何做到这

有没有办法在javascript中以编程方式调用标记的本机单击事件?.trigger('click')或.click()函数将不起作用,因为它们触发的是链接的onClick事件,而不是URL后面的事件。我需要以编程方式单击一个隐藏链接,然后跟随该链接到同一浏览器中的新选项卡。Window.open也不起作用,因为这会导致弹出窗口,我正在努力避免。我需要这个,因为我在服务器端动态生成一个URL,并通过JSON发送响应。然后,我用生成的URL填充隐藏链接的HREF属性。如果我能得到一个关于如何做到这一点的答案,我将不胜感激。

如果您正在用JSON响应填充a HREF,为什么不将其存储在一个变量中,当您想要访问它时,
window.location=yourVariable

如果您正在用JSON响应填充a HREF,为什么不将其存储在一个变量中,当您想转到它时,
window.location=yourVariable

除非你只想在IE上使用,否则我没有答案,但我可以告诉你问题出在哪里。问题是
target=\u blank
。尝试以下代码作为测试——注意它会将您带到Google.com——然后尝试将“_blank”作为目标写入。这似乎是浏览器唯一不允许的事情。您的问题的部分答案是
fireEvent()
可用于IE,而
dispatchEvent()
可用于其他一切。如果其他人能改进这段代码,我也会很感激有更好的答案

<html>
<head>
<script type="text/javascript">
window.onload = function fireElement() {
var target=document.getElementById('foobar');
if(document.dispatchEvent) { // W3C
var oEvent = document.createEvent( "MouseEvents" );
oEvent.initMouseEvent("click", true, true, window, 1, 1, 1, 1, 1, false, false, false, false, 0, target);
target.dispatchEvent( oEvent );
}
else if(document.fireEvent) { // IE
target.fireEvent("onclick");
} 
}
</script>

</head>
<body>
<div>
<a id="foobar" target="" href="http://www.google.com"></a>
</div>
</body>
</html>

window.onload=函数firelement(){
var target=document.getElementById('foobar');
if(document.dispatchEvent){//W3C
var oEvent=document.createEvent(“MouseEvents”);
initMouseEvent(“单击”,真,真,窗口,1,1,1,1,假,假,假,假,假,假,0,目标);
目标调度事件(oEvent);
}
else if(document.firevent){//IE
target.firevent(“onclick”);
} 
}

除非你只想在IE上使用,否则我没有答案,但我可以告诉你问题出在哪里。问题是
target=\u blank
。尝试以下代码作为测试——注意它会将您带到Google.com——然后尝试将“_blank”作为目标写入。这似乎是浏览器唯一不允许的事情。您的问题的部分答案是
fireEvent()
可用于IE,而
dispatchEvent()
可用于其他一切。如果其他人能改进这段代码,我也会很感激有更好的答案

<html>
<head>
<script type="text/javascript">
window.onload = function fireElement() {
var target=document.getElementById('foobar');
if(document.dispatchEvent) { // W3C
var oEvent = document.createEvent( "MouseEvents" );
oEvent.initMouseEvent("click", true, true, window, 1, 1, 1, 1, 1, false, false, false, false, 0, target);
target.dispatchEvent( oEvent );
}
else if(document.fireEvent) { // IE
target.fireEvent("onclick");
} 
}
</script>

</head>
<body>
<div>
<a id="foobar" target="" href="http://www.google.com"></a>
</div>
</body>
</html>

window.onload=函数firelement(){
var target=document.getElementById('foobar');
if(document.dispatchEvent){//W3C
var oEvent=document.createEvent(“MouseEvents”);
initMouseEvent(“单击”,真,真,窗口,1,1,1,1,假,假,假,假,假,假,0,目标);
目标调度事件(oEvent);
}
else if(document.firevent){//IE
target.firevent(“onclick”);
} 
}

据我所知,不可能通过javascript调用链接的本机单击函数。您可以使用.click()引用onclick,但在调用之前,本机click仍将运行。因此,如果您想在单击链接之前更改链接,则必须先单击链接两次,然后才能将您发送到更改后的链接。

据我所知,不可能通过javascript调用链接的本机单击功能。您可以使用.click()引用onclick,但在调用之前,本机click仍将运行。因此,如果您想在单击链接之前更改链接,则必须先单击链接两次,然后它才会将您发送到更改的链接。

window.location对我不起作用,因为我不想在当前选项卡中打开链接并替换当前页面。我需要它去一个新的标签。同意,我不认为把URL分配给一个隐藏链接只是为了让你可以点击它有什么意义。导航到新位置提供了更直接的方法。@usherjer如果要在新选项卡中打开它,请使用
窗口。打开
。它是在选项卡中打开还是在新窗口中打开完全取决于浏览器,因为并非所有浏览器都支持选项卡。无法明确指示浏览器在新选项卡中打开链接。我之所以尝试将其放置在隐藏链接中,是因为链接单击的功能允许在不替换当前选项卡的情况下打开新选项卡。如果我使用window.location,它会用新的URL替换当前选项卡。@usherjer:当浏览器查看该选项的内部设置时,确实没有一种方法可以确保在新选项卡中打开链接。如果我的浏览器配置为打开同一窗口中的每个链接,则您唯一的其他选项是
窗口。打开
.window.location对我不起作用,因为我不想在当前选项卡中打开链接并替换当前页面。我需要它去一个新的标签。同意,我不认为把URL分配给一个隐藏链接只是为了让你可以点击它有什么意义。导航到新位置提供了更直接的方法。@usherjer如果要在新选项卡中打开它,请使用
窗口。打开
。它是在选项卡中打开还是在新窗口中打开完全取决于浏览器,因为并非所有浏览器都支持选项卡。无法明确指示浏览器在新选项卡中打开链接。我之所以尝试将其放置在隐藏链接中,是因为链接单击的功能允许在不替换当前选项卡的情况下打开新选项卡。如果我使用window.location,它会用新的URL替换当前选项卡。@usherjer:当浏览器查看该选项的内部设置时,确实没有一种方法可以确保在新选项卡中打开链接。如果“我的浏览器”配置为在同一窗口中打开每个链接,则您唯一的其他选项是<