захватить JavaScript на клике JQuery - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть div, который появляется, когда пользователь нажимает на ссылку, которая убирает его с английской версии сайта. Им предоставляется выбор: да или нет. Я должен захватить «URL», куда они пойдут, если они нажмут «да». Это легко для ссылок, которые являются hrefs, но некоторые ссылки являются кликами, которые выполняют JavaScript. Я должен захватить JavaScript, не дать ему исполниться, а затем выполнить его, если они нажмут «да». Это код захвата на клике, который у меня есть, но как мне заставить его работать?

$_('a#foo').live('click', function(event) {
    var onclick = $(this).attr("onclick");
    $_('#yes a').attr('onclick', onclick);*/
    return false;
    event.preventDefault();
});

кнопка да / div

$_('#yes').live('click', function() {
    if(href) {
        window.location=href;
    };
    if(onclick) {
        eval(onclick);
    }
});

1 Ответ

0 голосов
/ 01 сентября 2011

Вот рабочая демонстрация

По сути, если в html определен атрибут onclick, он будет доступен как somelink.onclick, что является просто функцией, поэтому нет необходимостидля eval

Однако хитрость заключается в том, что код, определенный в атрибуте onclick, будет выполняться перед обработчиком события jQuery live(), поэтому следует избегать этого, удаляя исходную функцию onclick, но сохраняя копиюВы можете выполнить позже.

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