2012-01-20 25 views
9

Chromeで(私はWin 7でバージョン16.0.912.75 mを使用しています)カーソルの設定に関係なく、マウスの左ボタンを押したままカーソルを押すと、カーソルタイプはtextに変更されます(ページ上にテキストがない場合でも)。Chromeのバグ?カーソルがカーソルを下に移動して移動する

これはバグですか?それは私のドラッグアンドドロップツールが少しばかげて見えるように誰もそれを回避する方法を知っていますか?

JSFiddle:http://jsfiddle.net/KJfbs/

編集

テキストがないとき、問題を解決します-webkit-user-select: none;を追加し、以下の@davgothicで答えたよう。しかし、要素を絶対的に配置し、その上にテキストを配置すると、問題は解決しません。

JSFiddle:http://jsfiddle.net/KJfbs/2/

答えて

10

テキストの選択を防ぐために、その要素のCSSに-webkit-user-select: none;を追加してみてください。

例:http://jsfiddle.net/KJfbs/1/

個人的に私は、クロスブラウザの互換性のために... ...

-webkit-user-select: none; 
-khtml-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    -o-user-select: none; 
     user-select: none; 

をこれらを追加します。

+1

1 - おかげで、私の質問の例のための作業を行います。残念ながら、divがテキストの上に絶対的に配置されている場合、これは機能していないようです。なぜこのようなことが起こっているのかご存じですか? –

+0

最後の手段として、テキストを含む要素に '-webkit-user-select:none;'を設定することができます。ユーザーはそのテキストを選択する能力を失うだろう。 [ここに例がある](http://jsfiddle.net/KJfbs/3/)。 –

+0

ええ、それはオプションだと思います。ありがとうございます - 私はあなたの答えを受け入れる前に誰かが私の編集について助言を提供できるかどうかを見てみるつもりです。 –

0

私はそれを-webkit-user-select:none;とすると思います。ページに何か他のものを置くと問題は解決しません。例えば:http://jsfiddle.net/KJfbs/237/

とにかく、私はjQueryのでpreventDefaultは、どのような場合に問題を解決思う: http://jsfiddle.net/KJfbs/241/

のpreventDefaultは、カーソルのテキストに変更され、デフォルトの動作を回避することができます。
次に、私が望む任意のカーソルを制御して置くことができます:$(this).css( "cursor"、 "wait");

のjQuery:

$(function(){ 
    $('#lime').mousedown(function(e) { 
     e.preventDefault(); 
     $(this).css("cursor","wait"); 
    }).on('mouseup mouseleave', function() { 
     $(this).css("cursor","default"); 
    }); 
}); 

HTML:

<div id="lime"></div> 
<p>Lorem ipsum dolor sit amet</p> 

CSS:

#lime { 
    background-color: lime; 
    height: 100px; width: 300px; 
    cursor: wait; 
    position: absolute; 
    top: 0; left: 0; 
} 
関連する問題