是否可以停止重定向到另一个链接页面?
我已经搜索了很多,但似乎这不起作用。
在程序中,有一个jquery ready函数可以使click事件重定向。
if($.isFunction(link.attr('onclick'))){link.click();return false;} else{document.location.href=link.attr('href');}
所以在超链接中,有2个事件可以使这个页面重定向到新页面,一个是Link1
,另一个是onclick事件(抱歉,我仍然困惑哪个先执行)。
不幸的是,我无法删除jquery代码。所以我只能附加新代码。
我想打开一个新窗口而不是重定向,但是如何停止重定向操作呢?
我不明白,“只附加新代码”是什么意思? 如果这意味着您无法更改onclick处理程序或上面的代码,则解决方案如下所示:
确定要为其更改行为的链接,删除onclick处理程序。
$(".someClass a").unbind('click');
添加新的onclick处理程序:
$('.someclass a').bind(function(e){ var url = $(e.target).attr('href'); window.open(url, 'width=200'); }));
当页面加载和您希望覆盖的所有链接都在DOM中时,应该执行所有这些代码。
$(document).ready(function(){ //unbind links ... $(".someClass a").unbind('click'); //bind with changed onclick handler $('.someclass a').bind(function(e){ var url = $(e.target).attr('href'); window.open(url, 'width=200'); })); });
如果我理解正确,那jQuery块只运行onclick如果存在,否则它模拟正常的超链接点击。
因此,如果您希望它只是在新窗口中打开,并且您无法更改jQuery,则可以选择添加onclick事件:
Link1
这应该在新窗口中打开onclick时执行。
谢谢你的帮助。
我无法删除重定向jqueryfunction因为policy …之前的程序会在父进程中进行一些点击或超链接重定向页面..但是有些页面需要在新窗口中更改为打开。
让我详细解释一下
有两种类型的文本链接
first link1 3rd first link2 3rd
我既不明白为什么他们这样写…但是很抱歉我不能改变所有的HTML
我唯一能做的就是附加新function….
因此,如果用户直接单击超链接文本,对我来说很容易,我可以将目标追加到_blank。 但我们有事件function更改页面事件用户将鼠标移动到记录并单击。 也可以重定向新页面。
这就是为什么这个function….
if($.isFunction(link.attr('onclick'))){link.click();return false;} // I regard it for onclick function else{document.location.href=link.attr('href');} // it's for tag click..
所以我可以告诉你有三种方法可以改变页面。
-
直接单击文本链接,无需单击事件function。
-
单击标记区域的同一行。
-
单击文本链接但使用onclickfunction。 这就是我现在所知道的程序….
所以..在js函数之前我可以附加一些代码来改变页面事件。 我想做的是父窗口是相同的..没有重新加载。点击某个区域可以在新窗口中打开网页。