jq onclick click事件的区分写法----------转载

jQuery点击事件绑定onClick和on()

 

一、静态绑定
(1)onclick方法
jsp代码

<button href="javascript:;" class="weui_btn weui_btn_mini weui_btn_default" onClick = "audit('{{info.id}}')">审核</button>

js事件处理

复制代码
function audit(absenceId) {
    //弹出对话框
    $.confirm("确认审核", function() {
        //确定,发送post请求
        $.post("/leave/audit", {
            "absenceId" : absenceId,
        }, function(data) {
            //成功,跳转到指定页面
            location.href = "/qingjia/index";
        }, 'json');
    }, function() {
        //点击取消后的回调函数
    });
}
复制代码

(2)通过jQuery的id选择器用.click()绑定点击事件

这种方式不支持给动态元素或者样式重新绑定事件。


jsp代码

<a href="javascript:;" id="release-button" class="weui_btn weui_btn_primary">发布</a>
<a href="javascript:;" id="cancel-button" class="weui_btn weui_btn_default">取消</a>

js事件处理

复制代码
$("#release-button").click(function() {
        content = $("#content").val();
        if (!content) {
            showTips("请输入内容");
            return;
        }
        publish();
    });
$("#cancel-button").click(function() { window.history.back(); });
复制代码

二、动态绑定

支持给动态元素和属性绑定事件的是on,on前面的元素必须在页面加载的时候就存在于dom里面,动态的元素或者样式等,可以放在on的第二个参数里面。

例如:第二个写法绑定不上,第一个写法可以  因为我的每一个li是动态生成的  得这样绑定 才算真正的绑定上点击事件

动态后面添加上去的 如果要绑定点击事件 就是得遵循这样写法
on("事件名","标签名或对应class名",function({。。。。。})))

jsp代码

<button href="javascript:;" id="delete-button" data-id="{{info.id}}" class="weui_btn weui_btn_mini weui_btn_default">删除</button>

js代码

复制代码
$("#gridBody").on("click", "#delete-button", function() {
        var $this = $(this);
        id = $this.data('id');
        $.post("/daily-notice/deleteNotice", {
            "id": id
        }, function(data) {
             if(data.data == -1) {
                alert("删除失败!");
              } else {
                $this.parents('#notice-cell').remove();//ajax移除节点
                alert("删除成功!");
              }
        }, 'json');
    });
复制代码
 
 
 
 
原文地址:https://www.cnblogs.com/chchchc/p/13891437.html