Jquery实时点击导致双窗口打开,不能返回false,防止默认值,或者只是让链接直接停止
Jquery live click causing double window opening, can't return false, prevent default, or just get the link to plain stop!
所以对于我的生活,我不明白为什么这不起作用。当有人点击链接时,我有一个实时点击。任何网站外部的链接都应该在一个新标签中打开。这在理论上适用于一些通过ajax刷新内容的drupal视图。
下面是我挖出来的代码。它只是抓取链接,链接到外部,这是有效的。当警报触发时,它也可以在单击它们时工作(删除它不会改变任何东西)。stopimmediatepropagation()不执行任何操作,preventDefault不执行任何操作,返回false也不执行任何操作。链接仍然有效!
我只是想删除链接!我可以处理使它在新窗口中打开,因为window.open(this.href)可以工作,只是与这个孩子一起在当前窗口和新窗口中打开!
$("a[href^='http:']:not([href*='" + window.location.host + "'][target='_blank'])").live('click', function(e){
alert('this is it!');
e.stopImmediatePropagation();
e.preventDefault();
return false;
//window.open(this.href);
});
非常感谢你的帮助!
我设置为活的按钮也有同样的问题。我最终使用了一个全局变量…本质上是一个标志布尔,我会在每个函数中检查,然后在函数....(即....)结束时重置全局设置为false....检查变量....设置为true.....做我的事....然后在退出函数之前再次设置为false)....似乎目前为止工作....
试试这个:
$("a[href^='http:']:not([href*='" + window.location.host + "'][target='_blank'])").live('click', function(e){
e.preventDefault();
window.open(this.href, "_blank");
});
相关文章:
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- 如果值为空,如何设置输入的默认值?jQuery
- 骨干模型默认值-todos.js示例中不必要的代码
- jquery日期选择器年份范围默认值
- Html5输入属性的默认值,如最小值、最大值、大小等
- 根据两个下拉列表的默认值禁用按钮
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- Angularjs-设置不带ng选项的select的默认值
- jQuery Datepicker从日期开始设置默认值
- 如何设置浏览器打开的文件对话框的文件名(一些默认值)
- JQuery BlockUI鼠标加载光标没有't在Google Chrome中返回默认值
- Selectize选择默认值
- 在KeystoneJS中为Types.Money设置默认值
- 是否可以同时为一个元素的所有事件指定阻止默认值
- 防止在IE7中按回车键时出现默认值
- 如何覆盖jqGrid's语言默认值
- 如何为显示jquery滑块值的文本框设置默认值
- 是新创建的元素,它不是DOM样式的一部分,或者所有值都设置为默认值
- Jquery实时点击导致双窗口打开,不能返回false,防止默认值,或者只是让链接直接停止