jQuery.url插件无法在单击处理函数中运行

时间:2010-07-13 15:29:36

标签: jquery url jquery-plugins click

我正在尝试使用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;
});

我期待看到的是FireBug控制台中的'myParam:ABC123',但我得到错误:“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插件时,脚本似乎不知道它存在,但是如果我将它移到click处理程序之外,它就会正常工作。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

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