我正在尝试触发锚标记,以避免在重定向到新窗口时浏览器阻塞。问题是锚标记点击事件“$('#hello').trigger('click');
”未自动触发。
我错过了什么吗?
请在下面的html代码中纠正我的错误。
感谢。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Mobile Browser Detective</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$(document)
.ready(
function() {
var isMobile = {
any: function() {
return navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i);
}
};
if(isMobile.any()){
window.location.replace("http://www.google.com");
} else {
$('#hello').prop("href","javascript:window.open('http://www.yahoo.com','mywindowtitle','toolbar=no, menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=no,width=500,height=600')");
$('#hello').trigger('click');
}
});
</script>
</script>
</head>
<body>
<a id="hello">test</a>
<!-- Mobile Browser Detecting -->
</body>
</html>
答案 0 :(得分:0)
Yoi不需要设置href属性,你可以在window.open
块中调用else
if (isMobile.any()) {
} else {
window.open('http://www.yahoo.com','mywindowtitle','toolbar=no, menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=no,width=500,height=600')
}
答案 1 :(得分:0)
试试这个:
$('#hello').click();
或:
window.location = $('#myanchor').attr('href');
答案 2 :(得分:0)
您无法从javascript / jquery调用锚标记的click-event。这是内置于浏览器中的安全措施。
click方法旨在与类型的INPUT元素一起使用 按钮,复选框,收音机,重置或提交。 Gecko没有实现 单击可能需要响应的其他元素的方法 鼠标点击如链接(A元素),也不一定会触发 其他元素的点击事件。
您可以直接使用window.open()
方法(您将其设置为锚点“href”):
window.open('http://www.yahoo.com','mywindowtitle','toolbar=no, menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=no,width=500,height=600')
答案 3 :(得分:0)
您可以使用Id绑定此标记的Click事件,然后触发事件,当事件触发器使用Window.location重定向...