了解JQuery Snippet代码

时间:2011-07-18 23:34:37

标签: javascript jquery

任何人都可以帮我理解这段代码片段的用途吗?我正在维护一个网站,我认为这是我遇到的问题的根源。

function cust_addToCart(itemid, itemqty, options, viaajx, loadingf, callback) {
    var url = "/app/site/backend/additemtocart.nl?buyid=" + itemid + "&qty=" + itemqty;
    document.location.href = url;
}


$('#itemlist .addtocart-lnk').click(function() {
    $(this).next().find('.addtocart').click();
    return false; //Would this return a # for a link?
});

1 个答案:

答案 0 :(得分:7)

此片段:

$('#itemlist .addtocart-lnk').click(function() {
    $(this).next().find('.addtocart').click();
    return false; //Would this return a # for a link?
});

绑定一个click事件的事件处理程序,该事件处理程序对于具有标识为addtocart-lnk的元素的子类itemlist的元素。在该事件处理程序中,以下内容:

$(this).next().find('.addtocart').click();

时:

  1. 查找已点击的链接的next immediate sibling
  2. 然后finding每个元素addtocart的元素都是该兄弟元素的子元素,
  3. 以编程方式触发这些元素的click事件
  4. 这一行:

    return false;
    

    阻止链接的默认行为(如果没有看到标记,很难说)。通常,这可以防止链接被跟踪,浏览器显示新页面。

    <小时/> 这个功能:

    function cust_addToCart(itemid, itemqty, options, viaajx, loadingf, callback) {
        var url = "/app/site/backend/additemtocart.nl?buyid=" + itemid + "&qty=" + itemqty;
        document.location.href = url;
    }
    

    通过将第一个字符串与参数itemiditemqty连接起来构建一个url,这些参数将传递给函数。设置document.location.href会将浏览器定向到该网址。