2009-08-15 3 views
1

Я уже много раз искал, но, похоже, это не сработает.Можно ли перенести перенаправление на другую страницу ссылки?

В программе есть функция jquery ready, чтобы сделать переадресацию события щелчка.

if($.isFunction(link.attr('onclick'))){link.click();return false;} 
else{document.location.href=link.attr('href');} 

так в гиперссылке, есть 2 события может сделать эту страницу перенаправлять на новую страницу, один <a href="aaa">Link1</a> другого OnClick события (извините я до сих пор путаю, который выполняет первый).

К сожалению, я не могу удалить код jquery. Я могу только добавить новый код.

Я хочу открыть новое окно вместо перенаправления, но как я могу остановить перенаправление действия?

ответ

1

Я не понимаю, что вы подразумеваете под «только добавлением нового кода»? Если это означает, что вы не можете изменить обработчик 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'); 
    })); 

}); 
0

Если я правильно понять, что JQuery блок только запустить OnClick, если он существует в противном случае он имитирует обычную гиперссылкой щелчок.

Так что, если вы хотите, чтобы просто открыть в новом окне, и вы не можете изменить Jquery вариант можно было бы добавить событие OnClick:

<a href="aaa" onclick="window.open(this.href);return false;">Link1</a> 

Это должно выполнить как OnClick открыт новое окно.

0

Спасибо за помощь.

Я не могу удалить функцию переадресации jquery, потому что политика ... предыдущая программа сделает ссылку на перенаправление или гиперссылку в родительском .., но некоторые страницы нужно изменить для открытия в новом окне.

позвольте мне объяснить подробно

Есть два типа текстовой ссылки

<tr><td>first</td><td><a href="aaa">link1</a></td><td>3rd</td></tr> 
<tr><td>first</td><td><a href="aaa" onclick="fun1()">link2</a></td><td>3rd</td></tr> 

я ни как не могу понять, почему они пишут, как это ... но так жаль, что я не могу изменить все HTML

Я только могу сделать, это добавить новую функцию ....

так что если пользователь непосредственно нажмите текст гиперссылки, это легко для меня, я могу добавить цель _blank. , но у нас есть функция изменения функции события. Перемещайте мышь на запись и нажмите. также может перенаправить новую страницу.

вот почему этот funciton ....

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.. 

, так что я могу сказать, что есть 3 способа изменить страницу.

  1. нажмите текстовую ссылку напрямую, не нажав кнопку события funciton.

  2. щелкните по той же строке области тегов.

  3. нажмите текстовую ссылку, но с функцией onclick. это программа, как я теперь знаю ....

So..before функция I расслоение плотной можно добавить некоторый код, чтобы изменить событие страницы. Я хочу, чтобы родительское окно было такое же..но перезагрузилось. Если щелкнуть какую-либо область, можно открыть веб-страницу в новом окне.

Смежные вопросы