如何在jQuery日历中延迟执行

时间:2012-07-02 17:54:15

标签: jquery jquery-ui jquery-plugins

我想在鼠标悬停时延迟执行。

这是我到目前为止所拥有的

eventMouseover : function(calEvent, $event) {
    var $dialogContent = $("#event_show");
    resetForm($dialogContent);
    $($dialogContent).dialog({
        modal:true, 
        title: "Details of "+calEvent.title,
        body: "Name of Patitent",
        buttons : {
            cancel : function() {
                $dialogContent.dialog("destroy");
                $dialogContent.hide();
            }
        }
    }).show();

},

如果用户在执行后持续几秒钟,我该如何延迟。

2 个答案:

答案 0 :(得分:0)

延迟事件动作的简单方法是:

var timeout;
$('#example').click(function(){
  clearTimeout(timeout);
  timeout = setTimeout(function(){
    // your jQuery magic
  }, 200);
});

在此示例中,您的jQuery魔法将以 200毫秒执行。

答案 1 :(得分:-1)

试试这个:

eventMouseover : function(calEvent, $event) {
    var timer = setTimeout(function(){

        var $dialogContent = $("#event_show");
        resetForm($dialogContent);

        $($dialogContent).dialog({
            modal:true, 
            title: "Details of "+calEvent.title,
            body: "Name of Patitent",
            buttons : {
                cancel : function() {
                    $dialogContent.dialog("destroy");
                    $dialogContent.hide();
                }
            }
        }).show();
    }, 2000);
}

这将在2秒后执行对话框代码。将数字2000替换为延迟所需的毫秒数。