JavaScript中事件冒泡之实例理解

此#btnComfirmChooseCompany是Bootstrap模态弹层上的按钮,但点击后,点击事件被Bootstrap外层监听到了, 效果就是模态弹出层被关闭了,所以,我不想这个点击事件被"传递"到"外层"页面.

请注意参数e,一开始漏掉了,代码的效果没有满足我的预期

$("#btnComfirmChooseCompany").click(
    function (e) {
        var companyName = "";
        var companyID = "";
        var hasChecked = false;
        var allCheckbox = $("input[name='companyID']");
        for (var i = 0; i < allCheckbox.length; i++) {
            if (allCheckbox[i].checked == true) {
                hasChecked = true;
                companyID = $(allCheckbox[i]).attr("value");
                companyName = $("#" + companyID).parent().next().text();
            }
        }
        if (hasChecked) {
            $("#txtKHName").val(companyName);
            $("#hidCompanyId").val(companyID);
        }
        else {
            alert("请选择一个企业!");
            e.stopPropagation();
            return false;
        }
    }
);

 其它之等价写法

$("#btnComfirmChooseCompany").click(
    ComfirmChooseCompany
);
function ComfirmChooseCompany(e) {
    //同上,略
}

 

posted @ 2018-01-30 10:53  轴轴  阅读(154)  评论(0编辑  收藏  举报