JQuery - ref div и href id в div - PullRequest
       0

JQuery - ref div и href id в div

1 голос
/ 05 августа 2009

Я хочу знать, когда кто-то нажимает на ссылку, а затем ссылаться на переменную внутри ссылки, которую я назначаю в качестве идентификатора. Например, дали такую ​​ссылку:

<a class="TrackClick" id="SomeUnknownVar" href="javascript:void(0)" onClick="window.open('http://someurl','','width=650,height=400,scrollbars=yes,left=150,top=100,screenX=150,screenY=100'); return false">do the deed</a>

Я надеялся, что этот маленький кусочек JQuery сделает это для меня, но это не так

    $(document).ready(function() {
    $(".TrackClick").click(function(){  
        trackcode = this.id;
        alert("trackcode");
    });

Но это не работает, есть идеи?

ТИА!

Ответы [ 2 ]

2 голосов
/ 05 августа 2009

Добавьте URL-адрес в href, затем используйте обработчик, добавленный jQuery, чтобы открыть новое окно. На самом деле, я считаю, что обработчик, примененный в разметке, закорачивает обработчик jQuery из-за возврата false. В качестве альтернативы вы можете просто удалить возвращаемое значение false и заставить обработчик, примененный jQuery, остановить действие по умолчанию (возвращая false) для ссылки.

<a class="TrackClick" id="SomeUnknownVar" href="http://someurl">do the deed</a>

JQuery код:

$(function() {
      $('.TrackClick').click( function() {
            var $this = $(this);
            var href = $this.attr('href');
            window.open(href,'','width=650,height=400,scrollbars=yes,left=150,top=100,screenX=150,screenY=100');
            alert( $this.attr('id') );
            return false;
      });
 });
0 голосов
/ 05 августа 2009

Здесь работает, хотя:

$(document).ready(function() {
    $(".TrackClick").click(function(){      
            trackcode = this.id;
            alert(trackcode);
    });
});

Я только закрыл недостающее "});" в последней строке и заставил предупреждение показать фактическую переменную треккода вместо слова «трекод».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...