JavaScript on与off事件

用on与off替代bind 和unbind

bind绑定click事件,数据是动态加载的数据多了有时候再次调用click事件却没法调用了。

var bindEvent = function() {
    $(".demo").unbind("click").bind("click", function() {
        //TODO
    });
};

有时候live方法也有同样的问题,只能调用一次。后面就用on与off代替bind与live事件

	$("#subjectSmallImage").mouseover(function(){
    	var tbodyLength = $(this).siblings().find("tbody[id='subjectSmallImage_list_table']").find("tr")
    	var flag = true;
    	if($(tbodyLength).length==0){
			flag = false;
		}

    	if(flag){
			$(".layui-input-block button[id='subjectSmallImage']").off('click').on('click',a) }
		 if(!flag){
			$(".layui-input-block button[id='subjectSmallImage']").off('click',a).on('click',upload);
			$("#subjectSmallImage").trigger('click');
		 }

	})
	
	$("#subjectImage").mouseover(function(){
    	var tbodyLength = $(this).siblings().find("tbody[id='subjectImage_list_table']").find("tr")
    	var flag = true;
    	if($(tbodyLength).length==0){
			flag = false;
		}

    	if(flag){
			$(".layui-input-block button[id='subjectImage']").off('click').on('click',a) }
		 if(!flag){
			$(".layui-input-block button[id='subjectImage']").off('click',a).on('click',upload);
			$("#subjectImage").trigger('click');
		 }

	})
	
	function a(){
		layer.msg("附件仅能上传一个");
	};
	function upload(){

	}

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/81427948