我有以下 html/jquery 代码,应该打开一个新页面,但打开了 2:
$('.div_link').live('click', function(){
window.open($(this).attr('url'), '_blank', 'toolbar=no,resizable=yes,location=yes,menubar=yes');
});
<div class="div_link" url="/test/as/8888888-888">8888888-888</div>
Run Code Online (Sandbox Code Playgroud)
所以,一切工作正常,除了我得到两个新窗口,其中内容完全相同。我看到有人建议在 onclick 事件中返回 false 与此有关,但我认为这里的情况并非如此。
另外,我尝试过做类似的事情:
var handler = window.open(...);
Run Code Online (Sandbox Code Playgroud)
编辑: 尝试了类似于 gdoron 建议的操作,但它不会打开任何窗口,并且不会触发单击事件。
$('div.div_link').on({
click: function(){
window.open($(this).attr('url'), '_blank','toolbar=no,resizable=yes,location=yes,menubar=yes');
return false;
}});
Run Code Online (Sandbox Code Playgroud)
什么可能导致这种情况:
div_link和事件气泡的嵌套 div。关于最后一个选项,请使用on而不是 deprecated(1.7)-deleted (1.9)live函数:
$('#containerId').on('click', '.div_link', function(){
window.open($(this).attr('url'), '_blank', 'toolbar=no,resizable=yes,location=yes,menubar=yes');
return false;
});
Run Code Online (Sandbox Code Playgroud)
on与 不同的是,您可以停止冒泡live。
| 归档时间: |
|
| 查看次数: |
5407 次 |
| 最近记录: |