2017-08-18 2 views
2

私が構築しているウェブアプリの歯の選択メニューに取り組んでいます。私はSVGを見つけ、それを変更しています。SVGのマウス遅れを遅らせる

マウスの振る舞いを単純化しようとしましたが、大きな領域をホバーブル( '.parent')と他のもの{pointer-events:none}のみにしました。しかし、大きな遅れがあります。マウスを歯の1つにすばやく移動させると、通常は反応しません。それにゆっくりと移動するときだけ。

これも表示されますか?私に何ができる?

$('.parent').mouseover(function(){ 
    $(this).css('fill', 'red'); 
}); 

$('.parent').mouseleave(function(){ 
    $(this).css('fill', 'none'); 
}); 

link to the codepen playground

答えて

2

CSSの簡単な変更は、問題を修正しました:

svg *{ 
    pointer-events: none; // Disable pointer-events for all elements inside the SVG 
} 
svg .parent{ 
    pointer-events: all; // Enable pointer-events only on certain elements 
} 

ここにあなたのcodepenの更新されたバージョンです:https://codepen.io/etiennemartin/pen/yovzZb

は、私はまた、あなたが引き金方法を変更mouseoverですが、これは個人的な好みです。私にはきれいに見えます。

+1

これをちょうど答えとして追加しようとしていました。可能な限り私のQにフラグを立てることはできますかhttps://stackoverflow.com/questions/17616233/css-hover-sometimes-doesnt-work-on-svg-paths? –

+1

リンクのおかげで、何が起こっていたのか正確に理解できました。私はあなたの質問にあなたの質問にフラグを立てました。 –

+0

なんらかの理由で、codepenは私が改良したものではなく、元のバージョンにまっすぐに行きました(他の歯も同様に含まれていました)。しかし、ありがとう! –

関連する問題