2013-04-14 6 views
3

В море мне нужно сделать два события - обратный вызов и перейти на другой URL (google.com) при нажатии ссылки, но я не могу сделать их обоих. Что может быть здесь неправильно? Есть ли способ сделать оба события?Приморский регион: 2 события на html anchor

html anchor 
    newTarget url: 'www.google.com'; 
    callback: [Transcript show: 'clicked on google.com']; 
    with: ('www.google.com') . 

ответ

4

Поскольку >> обратного вызова: и >> URL: как обновляют HREF атрибут тега Anchor, вы не можете использовать оба на одном якоре. Вам придется решить эту проблему, написав метод обратного вызова, который выполняет вашу логику, а затем использует javascript для открытия страницы в новом окне.

Надеюсь, что это поможет!

3

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

html anchor 
    url: 'javascript:{}'; 
    onClick: (html jQuery ajax 
         callback: [ ... ]; 
         onComplete:(html javascript goto:'http://www.google.com')); 
    with: 'http://www.google.com'. 

Сниппет отменяет действие клик по умолчанию на якорь с помощью «JavaScript: {}» код как URL. В некоторых случаях я также видел использование «#», но по моему опыту также прокручивает ваш браузер до вершины. Затем он устанавливает свой собственный обработчик «щелчка», который запускает запрос ajax, как я описал ранее.

+0

Я попробую это. Благодарю. – j10

+0

Я попытался использовать приведенный выше код и для обратного вызова у меня было шоу Transcript, но оно не работает. html anchor url: 'javascript: {}'; onClick: (html jQuery ajax callback: [Показать: «Hello».]; onComplete: (html javascript goto: 'www.google.com')); с: 'www.google.com'. – j10

+0

Извините, не мог бы использовать код, который может быть использован с помощью ctrl + k – j10