将事件添加到Datepicker next和prev按钮

Adi*_*lik 0 jquery jquery-ui-datepicker

我写了这个简单的代码来将事件附加到我的一个div.但事件似乎永远不会被解雇.这是我的代码:

$(function() {
    $(".ui-datepicker-prev").hover(function () {
      alert('H');
    });

    $(".ui-datepicker-prev").click(function () {
      alert('C');
    });

    $(".ui-datepicker-prev").mouseover(function () {
      alert('MO');
    });
});
Run Code Online (Sandbox Code Playgroud)

PS我想将事件添加到jQuery DatePicker的next和prev按钮

jma*_*777 7

根据您更新的问题,我假设您选择的元素是在DOM准备好之后创建的,在这种情况下,您很可能希望使用事件委派.例如,

$(document).delegate('.ui-datepicker-prev', 'hover', function() {
    alert('H');
});

$(document).delegate('.ui-datepicker-prev', 'click', function() {
    alert('C');
});

$(document).delegate('.ui-datepicker-prev', 'mouseover', function() {
    alert('MO');
});
Run Code Online (Sandbox Code Playgroud)

请注意,委派悬停和鼠标悬停事件非常昂贵,因此您可能需要重新考虑.另一种方法是直接绑定到元素(就像您在示例中尝试的那样),但是等到确定元素存在之后才等待.