10/10/2018, 10:34

giúp đỡ onmouseout javascript

Các bạn xem đoạn code sau , mình thực hiện onmouseout không được theo ý muốn
<div onmouseout="alert('hehe')">
<div style="width:200px;background:red;color:white;font-weight:bold;">div 1</div>
<div style="width:200px;background:blue;color:white;fon t-weight:bold;">div 2</div>
</div>
Mình muốn là chỉ khi rời chuột khỏi cái div lớn nhất (cái div bao 2 div con đó) thì mới thực hiện onmouseout , đằng này khi mình vừa rê chuột từ div 1 đến div 2 thì nó đã thực hiện onmouseout rồi ...
Ai bít giúp mình với
xcode viết 12:49 ngày 10/10/2018
Bạn nên dùng jQuery nó sẽ chuẩn hơn
dokhacluan viết 12:36 ngày 10/10/2018
đoạn code này nhỏ thôi mà bạn , ma jquery thì có cách nào , bạn đua ra cái code thử xem
1024KB viết 12:36 ngày 10/10/2018
Code:
<div id="bigdiv" style="border:1px solid #ddd">
   <div id="subdiv1" style="width:200px;background:red;color:white;font-weight:bold;">div 1</div>
   <div id="subdiv2" style="width:200px;background:blue;color:white;fon t-weight:bold;">div 2</div>
</div>
<script type="text/javascript" charset="utf-8">
   $('#bigdiv').mouseout(function(){
       alert('out');
   });
</script>
dokhacluan viết 12:39 ngày 10/10/2018
@1024KB : hình như là bạn dùng jquery , nếu code thuần thì làm thế nào
honnhienh viết 12:34 ngày 10/10/2018
hic, cái này khó quá. Mình đã addEventListener cho cái div cha và removeEventListener sự kiên onmouseout ngay khi load page cho 2 cái div con mà không được. Bác nào pro javascript làm cái này coi cho tôi học hỏi với. up cho lên top.
uoon viết 12:37 ngày 10/10/2018
<div id="bigdiv" style="border:1px solid #ddd" onmouseout="alert('hehe')">
<div onmouseout="event.cancelBubble = true;">
<div id="subdiv1" style="width:200px;background:red;color:white;font-weight:bold;">div 1</div>
<div id="subdiv2" style="width:200px;background:blue;color:white;fon t-weight:bold;">div 2</div>
</div>
</div>
honnhienh viết 12:40 ngày 10/10/2018
Được gửi bởi 1024KB
Code:
<div id="bigdiv" style="border:1px solid #ddd">
   <div id="subdiv1" style="width:200px;background:red;color:white;font-weight:bold;">div 1</div>
   <div id="subdiv2" style="width:200px;background:blue;color:white;fon t-weight:bold;">div 2</div>
</div>
<script type="text/javascript" charset="utf-8">
   $('#bigdiv').mouseout(function(){
       alert('out');
   });
</script>
thấy thằng này chạy cũng zay ah. đâu có khác gì code kia đâu. với lại bác viết
Code:
<script type="text/javascript" charset="utf-8">
   $('#bigdiv').mouseout(function(){
       alert('out');
   });
</script>
sao tui chạy hog được. mặc dù đã thêm cái

Code:
http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
cayriver viết 12:36 ngày 10/10/2018
Thêm cái này vào
PHP Code:
$(document).ready(function() {
   $(
'#bigdiv').mouseout(function(){
       
alert('out');
   });

}); 
dokhacluan viết 12:45 ngày 10/10/2018
Tìm trên google được cái này , test chạy ok
<script type="text/javascript">

function fixOnMouseOut(element, event) {
//alert(event.toElement);
//alert(event.relatedTarget);
if( event.toElement ) {
current_mouse_target = event.toElement;
}
else
{
if( event.relatedTarget )
{
current_mouse_target = event.relatedTarget;
}
}
if( current_mouse_target != null ) {
while( current_mouse_target.parentNode ) {
if( (current_mouse_target = current_mouse_target.parentNode) == element ) {
var zz=true;
}
}
}
else
{
var zz=false;
}
if( !zz && element != current_mouse_target ) {
//eval(JavaScript_code);
alert("re chuot ra");
}
}

</script>
<div onMouseOut="fixOnMouseOut(this, event);" style="width:200px">
<div style="width:200px;background:red;color:white;font-weight:bold;" >div 1</div>
<div style="width:200px;background:blue;color:white;fon t-weight:bold;">div 2</div>
</div>
cau để ý cái chỗ alert("re chuot ra"); la cai chỗ viết code khi rê chuột ra div lớn đó
Bài liên quan
0