问题:jquery如何取消元素绑定的hover事件,如何增加元素hover事件
解决:取消绑定事件可以使用off()方法或unbind()方法,元素添加事件可以使用bind()方法或on()方法,但注意:hover并非是js事件,所以不能直接取消,需要使用mouseenter,mouseleave事件
方法:
因为jquery的hover事件,是mouseenter和mouseleave两个事件的合并,所以取消和绑定需要单独运用
$('#add-schedule-btn').click(function(){ $('#add-schedule-box').show(); $('#add-schedule-btn').off('mouseenter').off('mouseleave'); $('#add-schedule-btn').text('加课').css({'font-size':'15px'}); }); $('#add-schedule-btn').on({mouseenter:mouseenter, mouseleave:mouseleave}); function mouseenter(){ $('#add-schedule-btn').text('加课').css({'font-size':'15px'}); } function mouseleave(){ $('#add-schedule-btn').text('+').css({'font-size':'25px'}); } $('#add-schedule-cancel').click(function(){ $('#add-schedule-box').hide(); $('#add-schedule-btn').on('mouseenter', mouseenter).on('mouseleave', mouseleave); $('#add-schedule-btn').text('+').css({'font-size':'25px'}); });