4

マウスを押したままにして、カーソルを画像に変更したい。次に、マウスを離すと、デフォルトに戻ります。

ここに私がこれまでに持っているコードがあります。右クリックしてからマウスを左クリックしないと機能しません。変。

http://jsfiddle.net/HLLNN/

Jクエリ

$("#background").on("mousedown", function () {
    $(this).addClass("mouseDown");
}).on("mouseup", function () {
    $(this).removeClass("mouseDown");
});

CSS

.mouseDown{
 cursor:progress  ; // I will eventually want an image file but I used this for brevity

}


#background{
    width:500px;
    height:500px;
    position:absolute;
    background-color:red;
}
4

3 に答える 3

8

さて、2つのことがあります。

まず、デフォルトを防止する必要があります。デフォルトの動作は、カーソルをオーバーライドするドラッグ (テキスト選択) です。

$("#background").on("mousedown", function (e) {
    e.preventDefault();
    $(this).addClass("mouseDown");
}).on("mouseup", function () {
    $(this).removeClass("mouseDown");
});

第二に、マウスがダウンしている間にカーソルを移動する必要があります。そうしないと機能しません。理由がわからず、まだ修正を見つけていません。

とにかく、このフィドルをチェックしてください:http://jsfiddle.net/HLLNN/3/

于 2013-06-14T20:52:27.050 に答える