Плагин jQuery.url не работает из-за функции обработчика кликов - PullRequest
0 голосов
/ 13 июля 2010

Я пытаюсь использовать плагин jQuery.url (http://projects.allmarkedup.com/jquery_url_parser/), чтобы получить определенный параметр из строки запроса URL привязки, по которой только что щелкнули, например:

HTML:

<a class="clickonme" href="http://www.example.com/my/url/params?myparam=ABC123">Link text</a>

JavaScript:

    var myParam = '';
$("a.clickonme").click(function() {
    myParam = jQuery.url.setUrl($(this).attr('href')).param('myparam');
            console.log('myParam: '+myParam);
    return false;
});

Я ожидаю увидеть «myParam: ABC123» в консоли FireBug, но вместо этого я получаю ошибку: «jQuery.url не определен ".

Я проверил, может ли мой скрипт видеть плагин url, запустив следующий код:

    var myURL = 'http://www.example.com/my/url/params?myparam=ABC123';
var myParam = jQuery.url.setUrl(myURL).param('myparam');
$("a.clickonme").click(function() {
    console.log('myParam: '+myParam);
    return false;
});

Когда я запускаю это, плагин jQuery.url работаетнормально (в консоли нет ошибок JavaScript, и возвращается желаемый результат «myParam: ABC123»).

Таким образом, в основном, когда я пытаюсь использовать плагин jQuery.url внутри обработчика кликов, появляется скриптне знать, что он существует, но если я переместу его за пределы обработчика щелчка, он будет работать как обычно.

Есть мысли?

1 Ответ

3 голосов
/ 13 июля 2010
$(document).ready(function() {
    $("a.clickonme").click(function() {
        myParam = jQuery.url.setUrl($(this).attr('href')).param('myparam');
        console.log('myParam: '+myParam);
        return false;
    });
});
...