2017-01-13 5 views
1

私はdivを追加するコードの上にマウスを置いています。jQuery MouseOut triggers mouseEnter

私もmouseoutためのスクリプトを持っているが、それはコードが "mouseleave" に

$(".actipntrg").on("mouseleave" , function() { $(this).remove(); }); }); 

答えて

1

変更 "マウスアウト" であり、それが動作するはずmouseenter

Demo

<div class="topicaction"> 
<i class="fa fa-caret-down edit-topic-open" aria-hidden="true">Hover</i>      
</div> 

$("body").on("mouseenter", ".edit-topic-open", function() { 
$(this).after('<div class="actipntrg"><span class="edit-topic" data-toggle="modal" data-target="#summernoteModal"><i class="fa fa-pencil-square-o" aria-hidden="true" data-value=""></i> Edit</span><span class="remove-topic"><i class="fa fa-times" aria-hidden="true" data-value=""></i> Remove </span><span class="cancel_a"><i class="fa fa-times" aria-hidden="true"></i> Cancel</span></div>'); 

$(".actipntrg").on("mouseout" , function() { 
     $(this).remove(); 
    }); 
}); 
+0

私はそれを試して、それがブラウザから自分のマウスを移動したときにのみ働いたので、それは変です。しかし今は動作します – SamotnyPocitac

+0

なぜマウスアウトが機能しなかったのか説明できますか? – SamotnyPocitac

+0

マウスが内部要素を離れると、mouseoutがトリガーされます。この例では、マウスは.actipntrgを残してから.edit-topicを入力します。 mouseleaveを使用すると、エレメントがバインドされたままになったときにトリガーされます。だから、あなたは.actipntrgの中にすべてを残すとき。より良い説明http://api.jquery.com/mouseleave/ –

1

にトリガ。だからあなたはこれを持っています。

$(".actipntrg").on("mouseleave" , function() { 
    $(this).remove(); 
}); 
関連する問題