jquery没有在ie上工作
以下代码适用于Chrome、Firefox和Safari,但不适用于IE9。有人知道吗 代码的工作原理是: 当鼠标位于日历上时,“.day”将可单击。如果鼠标悬停在一天的背景上,它的颜色也会改变。单击“.day”后,将弹出一个jQueryUI对话框以获取值 IE9中的: “.day”不可单击。”。当鼠标悬停在一天的背景色上时,它也不会改变。什么也没发生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() {
$(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上工作