2

为了显示.timePickr我需要在使用事件时看到框之前进行两次悬停并将鼠标移动到另一个地方。.timePikerlive

我怎样才能通过一次悬停来实现它?

$(".timePickr").live('hover', function() {
    $(function(){
        $(".timePickr").timepickr();
    });
});
4

2 回答 2

3

问题是您在触发悬停事件后将时间选择器添加到输入中。直到您下次悬停时,才会显示时间选择器。

有两种选择。要么再次触发悬停事件:

$(function() {
  $(".timePickr").live('hover', function() {
    $(this).timepickr();
    $(this).hover();
  });
});

一个更好的选择是移动代码以在文档加载函数中应用时间选择器,或者每当您动态引入新元素时。

$(function() {
  $(".timePickr").timepickr();
});

//Somewhere else
$.get("someurl", null, function(data) {
  $("#some-div").html(data);
  $(".timePickr").timepickr();
});
于 2012-05-26T14:05:23.223 回答
0

试试这个代码:

$(function() {
   $(".timePickr").timePickr(); // set all timePicker on document load

   $(".timePickr").live('hover', function() {
       $(this).trigger('click');
   }); 
});
于 2012-05-26T13:37:50.147 回答