该函数只调用一次

时间:2013-02-28 19:41:37

标签: jquery

我有一个关于悬停的课程,我正在显示一个“对话框”作为工具提示,其中包含上一个/下一个导航按钮。在此基础上我正在更新内容。

但是,我只能执行一次。 这是代码:

$(".corner").mouseenter(function(e){
    tt_index=1;

    var id=this.id;
    $("#popup-div").html(getMultipleBooking(id.toString(),tt_index));
    $("#popup-div").height(120);

     $("#popup-div").dialog({
         resizable: false,
         autoOpen: true,
         width: 277,
         position: [e.pageX+5, (e.pageY+5)-$(document).scrollTop()+10], 

         });

     $(".ui-dialog-titlebar").hide();

     //closing the dialog when mouse enters into the white space

     $("#tt_next").click(function(){
         ++tt_index;
         $("#popup-div").html(getMultipleBooking(id.toString(),tt_index));          
    });
});

1 个答案:

答案 0 :(得分:1)

当页面加载时,工具提示/对话框是否已在dom中触发?另外,当您使用mouseout时,是否从DOM中删除了工具提示/对话框?

如果是这样,那么你将不得不在jQuery中使用on()方法,http://api.jquery.com/on/ ..所以事件正在积极倾听。如果是这种情况,您将丢失附加到DOM中的触发器(.corner)的事件的绑定。 ..随后,您还可以在推出触发器时触发mouseleave事件。

示例:

$(".corner").on("mouseenter",function(e){ 
           code stuff goes here for mouseenter 
}).on("mouseleave",function(e){ 
           code stuff goes here for mouseleave 
});

希望这有帮助!