模拟IE8中的鼠标左键选择(preventDefault)

时间:2011-12-01 10:53:01

标签: jquery internet-explorer-8 selection

这是一个跟进问题:Can you emulate the left-mouse button selection in JQuery?

该解决方案在IE9,Firefox和Chrome中运行良好,但IE8仍然执行浏览器的默认选择,即突出显示文本。

isMouseDown = false

$('body').mousedown(function (e) {
    e.preventDefault(); // Prevent default behavior
    isMouseDown = true;
})
.mouseup(function (e) {
    e.preventDefault(); // Prevent default behavior
    isMouseDown = false;
});

$(".div").live("mouseenter", function (e) {
    e.preventDefault(); // Prevent default behavior
    if (isMouseDown) {
        $(this).toggleClass("selected");
    }
});

所以我认为e.preventDefault()不起作用。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

自己找到解决方案。您还必须阻止mousemove中的默认值:

// Because IE8 won't get it without this...
$(".module").mousemove(function (e) {
    if ($.browser.msie) {
        e.preventDefault();
        return false;
    }
});