jquery没有在ie上工作

jquery没有在ie上工作,jquery,jquery-ui,click,internet-explorer-9,Jquery,Jquery Ui,Click,Internet Explorer 9,以下代码适用于Chrome、Firefox和Safari,但不适用于IE9。有人知道吗 代码的工作原理是: 当鼠标位于日历上时,“.day”将可单击。如果鼠标悬停在一天的背景上,它的颜色也会改变。单击“.day”后,将弹出一个jQueryUI对话框以获取值 IE9中的: “.day”不可单击。”。当鼠标悬停在一天的背景色上时,它也不会改变。什么也没发生 $(document).ready(function() { $('#calendar').mouseout(function() {

以下代码适用于Chrome、Firefox和Safari,但不适用于IE9。有人知道吗

代码的工作原理是: 当鼠标位于日历上时,“.day”将可单击。如果鼠标悬停在一天的背景上,它的颜色也会改变。单击“.day”后,将弹出一个jQueryUI对话框以获取值

IE9中的: “.day”不可单击。”。当鼠标悬停在一天的背景色上时,它也不会改变。什么也没发生

$(document).ready(function() {

    $('#calendar').mouseout(function() {
    $('#calendar .calendar .day').unbind('click');
});


$('#calendar').mouseover(function() {       
    $('#calendar .calendar .day').bind('click', function(){
        day_num = $(this).find('.day_num').html();
        $('#dialog-form').dialog("open");
    });
}); 


$(function() {  

    $('#dialog-form')
        .attr('title', 'Number')
        .dialog({ 
            autoOpen: false,
            closeOnEscape: true, 
            draggable: false, 
            resizable: false,
            height: 180,
            width: 450,
            show: 'fade', 
            modal: true, 
            buttons: { 
                'Ok': function() {
                    var spinner = $("#spinner").spinner();
                    day_data = (spinner.spinner( "value" ) );

                    if(day_data !=null){

                        $.ajax({
                            url: window.location,
                            type: 'POST',
                            data: {
                                day: day_num,
                                data: day_data
                            },
                            success: function(msg){
                                location.reload();
                            }
                        }).error (function() {
                            alert('an error occured');
                        });     
                    }
                },

                Cancel: function() {
                        $(this).dialog("close");
                }
            }

        });
}
看起来
#calendar1
应该是
#calendar

尽管如此,我可以建议简化事件处理吗

$("#calendar").on("click",function(evt) {
    day_num = $(evt.target).closest(".day").find(".day_num").html();
    $("#dialog-form").dialog("open");
});

这就是你所需要的。所有这些都没有过度复杂的
mouseover
/
mouseout
东西。

试试这个,希望它对你有用

$('#calendar').mouseover(function() {       
        $('#calendar1 .calendar .day').bind('click', function(){
            day_num = $(this).find('.day_num').html();
            $('#dialog-form').dialog("open");
        });
    }); 
上述代码需要在文件中准备好

<script type="text/javascript">

$(document).ready(function() {

    $('#calendar').mouseout(function() {
        $('#calendar .calendar .day').unbind('click');
    });


    $('#calendar').mouseover(function() {       
        $('#calendar1 .calendar .day').bind('click', function(){
            day_num = $(this).find('.day_num').html();
            $('#dialog-form').dialog("open");
        });
    }); 

});

$(function() {  

    $('#dialog-form')
        .attr('title', 'Number')
        .dialog({ 
            autoOpen: false,
            closeOnEscape: true, 
            draggable: false, 
            resizable: false,
            height: 180,
            width: 450,
            show: 'fade', 
            modal: true, 
            buttons: { 
                'Ok': function() {
                    var spinner = $("#spinner").spinner();
                    day_data = (spinner.spinner( "value" ) );

                    if(day_data !=null){

                        $.ajax({
                            url: window.location,
                            type: 'POST',
                            data: {
                                day: day_num,
                                data: day_data
                            },
                            success: function(msg){
                                location.reload();
                            }
                        }).error (function() {
                            alert('an error occured');
                        });     
                    }
                },

                Cancel: function() {
                        $(this).dialog("close");
                }
            }

        });
});

</script>

$(文档).ready(函数(){
$(“#日历”).mouseout(函数(){
$('#calendar.calendar.day')。解除绑定('click');
});
$(“#日历”).mouseover(函数(){
$('#calendar1.calendar.day').bind('click',function(){
day_num=$(this.find('.day_num').html();
$(“#对话框窗体”)。对话框(“打开”);
});
}); 
});
$(函数(){
$(“#对话框形式”)
.attr('标题','编号')
.dialog({
自动打开:错误,
closeOnEscape:没错,
可拖动:错误,
可调整大小:false,
身高:180,
宽度:450,
节目:“褪色”,
莫代尔:是的,
按钮:{
“确定”:函数(){
var spinner=$(“#spinner”).spinner();
day_data=(微调器.微调器(“值”));
如果(日数据!=null){
$.ajax({
url:window.location,
键入:“POST”,
数据:{
day:day_num,
数据:日数据
},
成功:功能(msg){
location.reload();
}
}).错误(函数(){
警报(“发生错误”);
});     
}
},
取消:函数(){
$(此).dialog(“关闭”);
}
}
});
});

您不需要文档。另一个文档中的ready函数。ready函数对不起#calendar1应该是#calendar-这是发布问题时的一个输入错误。我需要过度复杂的mouseover/mouseout来区分我拥有的多个日历。不幸的是,我仍然需要它。你知道为什么它不能在IE上工作吗?嘿,纳文,谢谢你,但它仍然不能在IE=S上工作