不确定这里发生了什么。它在IE9中不起作用。也许IE9无法正确处理JavaScript? 适用于Chrome,FF,Safari,IE7(我实际测试过这些)
这是我的小提琴代码:http://jsfiddle.net/SMqR9/31/
不太复杂,只是嵌套排序。怎么了? 我需要为IE9做些什么特别的事情吗?
有问题的javascript:
$j = jQuery.noConflict();
$j(function() {
// these parts are here due to a z-index bug with IE
$j('ul').bind('mousedown', function(e) {
e.stopPropagation();
if ($j.browser.msie && $j.browser.version < '9.0') $j(this).closest('.section').css('z-index', '5000');
});
if ($j.browser.msie && $j.browser.version < '9.0') {
$j('ul').bind('mouseup', function(e) {
$j(this).closest('.section').css('z-index', '1000');
});
}
// the actual sorting code / jqueryUI sorting
$j("#sort_content_41,#sort_content_40,#sort_content_42,#sort_content_39").sortable({
connectWith: '.section-content',
dropOnEmpty: true,
zIndex: 1004,
cursor: 'crosshair'
});
$j("#sort_sections").sortable({
placeholder: "ui-state-highlight",
connectWith: '.sections',
axis: 'y',
zIndex: 1003,
cursor: 'crosshair'
});
});
$j(function() {
$j("section-content").sortable({
connectWith: "section-content",
dropOnEmpty: true
});
$j(".section-content").disableSelection();
});
答案 0 :(得分:1)
解决方案是将jQuery更新到最新版本。旧版本在IE9下无法正常运行。
答案 1 :(得分:1)
由于某些原因无法将jQuery升级到最新版本的人,有拖放鼠标交互的热修复。
请参阅以下链接:
http://forum.jquery.com/topic/jquery-ui-does-not-work-on-ie9
我也遇到过类似的问题。我通过在ui.core.js
末尾添加以下代码来解决问题(function ($) {
var a = $.ui.mouse._mouseMove;
$.ui.mouse._mouseMove = function (b) {
if ($.browser.msie && document.documentMode >= 9) {
b.button = 1
};
a.apply(this, [b]);
}
}(jQuery));