我在尝试使用jQuery打开页面时(通过强制点击)尝试打开链接,但它无法正常工作。
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$('a.bla').click(function(){
window.open(this.href);
return false;
});
});
</script>
</head>
<body>
<a href="url-to-open.php" target="_blank" class='bla'><img src="pic.png" alt="" style="border:none;" /></a>
</body>
</html>
我不知道出了什么问题。我希望你们中的某个人知道如何解决这个问题。
答案 0 :(得分:2)
加载页面后,您的代码不会立即打开链接;它会创建一个事件处理程序,只要您加载页面就会触发一个函数。只有在您点击链接时才会触发该事件处理程序。
现在,您通常会做的是:
$(document).ready(function(){
$('a.bla').trigger('click');
});
除非无法打开链接,因为出于安全原因,您无法以编程方式触发鼠标单击 - 您只能以编程方式触发分配给该鼠标单击的事件处理程序。 / p>
试试这个:
$(document).ready(function(){
window.open($('a.bla').attr('href'),'name-of-new-window');
});
哪个会起作用,除非用户有一个弹出窗口拦截器阻止它。
答案 1 :(得分:1)
$('a.bla').click(function(){
should be
<script>
$(document).ready(function(){
$('a.bla').click(function(){
window.open($(this).attr("href"));
return false;
});
});
答案 2 :(得分:1)
对于不是.
#
$(document).ready(function(){
$('a.bla').click(function(){
window.open(this.href);
return false;
});
});
如上所述,错误地使用#
。
$(document).ready(function(){
window.open($('a .bla').href);
return false;
});
答案 3 :(得分:1)
尝试
window.open($(this).attr('href'));
而不是
window.open(this.href);
如果你想在页面加载时打开..只需将此行移动到click事件之外,它应该没问题。
答案 4 :(得分:0)
此示例应使新窗口通过链接点击事件自动打开。 (尚未对此进行测试,可能需要将href
值作为data
参数传递给处理程序。
$(document).ready( function() {
var $link = $( 'a.bla' ),
href= $link.attr( 'href' );
$link.unbind( 'click' ).bind( 'click', function ( e ) {
window.open( href );
e.preventDefault();
e.stopPropagation();
} );
$link.click();
});