Jadual Kandungan
回复讨论(解决方案)
Rumah hujung hadapan web html tutorial onmouseover onmouseout事件问题_html/css_WEB-ITnose

onmouseover onmouseout事件问题_html/css_WEB-ITnose

Jun 24, 2016 pm 12:23 PM

onmouseover

光标移到DIV1上显示DIV2,移开时隐藏。当然,当光标在DIV2上时该DIV也要显示。

问题是,DIV2上有个下拉框,当点击下拉框,选择里面的选项时,DIV2会消失。

如何拯救啊?

回复讨论(解决方案)

补充DEMO代码如下:

<html><head><title></title></head><body>    <div onmouseover="ShowDiv()" onmouseout="HideDiv()">        鼠标移到这里显示另一个DIV    </div>    <div id="div2" style="width:200px;height:200px;border:1px solid #f00;display:none;" onmouseover="ShowDiv()" onmouseout="HideDiv()">         <select>            <option>1</option>            <option>2</option>            <option>3</option>        </select>           随便写一些内容        <br />        这里是需要显示的DIV    </div></body><script type="text/javascript">    function ShowDiv() {        document.getElementById('div2').style.display = 'block';    }    function HideDiv() {        document.getElementById('div2').style.display = 'none';    }</script></html>
Salin selepas log masuk

DIV2在DIV1外面啊,当然会隐藏了,你应该把DIV2覆盖在DIV1上面。

DIV2在DIV1外面啊,当然会隐藏了,你应该把DIV2覆盖在DIV1上面。

我觉得这跟DIV1关系不大,DIV1只是为了能触发显示DIV2的

关键在点击DIV2里的下拉框后,好像就被认为是光标移出了DIV2,这样就触发了DIV2里的onmouseout,所以就隐藏了。

你有没有发现按照你的div排版来做,你的第二格div是显示在第一个div下面的。

你有没有发现按照你的div排版来做,你的第二格div是显示在第一个div下面的。

是的,显示在哪里不要紧,这只是个DEMO,为了说明问题。你把光标移到DIV2上DIV2还是显示的吧,但点击DIV2里面的下拉框就隐藏了。

    <div onmouseover="ShowDiv()" onmouseout="HideDiv(event)">        鼠标移到这里显示另一个DIV    </div>    <div id="div2" style="width:200px;height:200px;border:1px solid #f00;display:none;" onmouseover="ShowDiv()" onmouseout="HideDiv(event)">         <select>            <option>1</option>            <option>2</option>            <option>3</option>        </select>           随便写一些内容        <br />        这里是需要显示的DIV    </div></body><script type="text/javascript">    function ShowDiv() {        document.getElementById('div2').style.display = 'block';    }     function HideDiv(e) {		var e = e || window.event;        var tg = e.target || e.srcElement;        if(tg.tagName == "DIV"){              document.getElementById('div2').style.display = 'none';        }     }	</script>
Salin selepas log masuk
Salin selepas log masuk

鼠标在option上的mouseout 会触发父容器的mouseout事件。

    <div onmouseover="ShowDiv()" onmouseout="HideDiv(event)">        鼠标移到这里显示另一个DIV    </div>    <div id="div2" style="width:200px;height:200px;border:1px solid #f00;display:none;" onmouseover="ShowDiv()" onmouseout="HideDiv(event)">         <select>            <option>1</option>            <option>2</option>            <option>3</option>        </select>           随便写一些内容        <br />        这里是需要显示的DIV    </div></body><script type="text/javascript">    function ShowDiv() {        document.getElementById('div2').style.display = 'block';    }     function HideDiv(e) {		var e = e || window.event;        var tg = e.target || e.srcElement;        if(tg.tagName == "DIV"){              document.getElementById('div2').style.display = 'none';        }     }	</script>
Salin selepas log masuk
Salin selepas log masuk

鼠标在option上的mouseout 会触发父容器的mouseout事件。

是啊,如何解决?

额,有点不懂你的意思了,我试过了,点击下拉框DIV2没有消失,不知道你是怎么做的,倒是按照你的div排版来做,我的鼠标是进不了div2的,因为div2在div1下面,出了div1,div2不就隐藏了吗,还怎么点击下拉框呢

额,有点不懂你的意思了,我试过了,点击下拉框DIV2没有消失,不知道你是怎么做的,倒是按照你的div排版来做,我的鼠标是进不了div2的,因为div2在div1下面,出了div1,div2不就隐藏了吗,还怎么点击下拉框呢

无标题文档    <div onmouseover="ShowDiv()" onmouseout="HideDiv(event)">        鼠标移到这里显示另一个DIV    </div>    <div id="div2" style="width:200px;height:200px;border:1px solid #f00;display:none;" onmouseover="ShowDiv()" onmouseout="HideDiv(event)">         <select>            <option>1</option>            <option>2</option>            <option>3</option>        </select>           随便写一些内容        <br />        这里是需要显示的DIV    </div></body><script type="text/javascript">    function ShowDiv() {        document.getElementById('div2').style.display = 'block';    }     function HideDiv(e) {		var e = e || window.event;        var tg = e.target || e.srcElement;        if(tg.tagName == "DIV"){              document.getElementById('div2').style.display = 'none';        }     }	</script>
Salin selepas log masuk


解决方法是给HideDiv(e)加上事件参数,判断事件源的tagName

额,有点不懂你的意思了,我试过了,点击下拉框DIV2没有消失,不知道你是怎么做的,倒是按照你的div排版来做,我的鼠标是进不了div2的,因为div2在div1下面,出了div1,div2不就隐藏了吗,还怎么点击下拉框呢

你不前后矛盾么?又说点击DIV2里的下拉框后DIV2没有消失,又说鼠标进不了DIV2,如果进不了你是怎么点下拉框的?

不是点击下拉框,是点击下拉框后移到别的OPTION上去。

你不前后矛盾么?又说点击DIV2里的下拉框后DIV2没有消失,又说鼠标进不了DIV2,如果进不了你是怎么点下拉框的?

不是点击下拉框,是点击下拉框后移到别的OPTION上去。
我只是把div2放在了div1里面


你不前后矛盾么?又说点击DIV2里的下拉框后DIV2没有消失,又说鼠标进不了DIV2,如果进不了你是怎么点下拉框的?

不是点击下拉框,是点击下拉框后移到别的OPTION上去。
我只是把div2放在了div1里面

可能是浏览器兼容性问题,我用的是IE8把DIV2放下面没有问题

问题解决了,如xiaofanku说的解决方案,谢谢

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah tujuan & lt; kemajuan & gt; unsur? Apakah tujuan & lt; kemajuan & gt; unsur? Mar 21, 2025 pm 12:34 PM

Artikel ini membincangkan html & lt; kemajuan & gt; elemen, tujuan, gaya, dan perbezaan dari & lt; meter & gt; elemen. Tumpuan utama adalah menggunakan & lt; kemajuan & gt; untuk menyelesaikan tugas dan & lt; meter & gt; untuk stati

Apakah tujuan & lt; DATALIST & GT; unsur? Apakah tujuan & lt; DATALIST & GT; unsur? Mar 21, 2025 pm 12:33 PM

Artikel ini membincangkan html & lt; datalist & gt; elemen, yang meningkatkan bentuk dengan menyediakan cadangan autokomplete, meningkatkan pengalaman pengguna dan mengurangkan kesilapan. Kira -kira: 159

Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Mar 17, 2025 pm 12:20 PM

Artikel membincangkan amalan terbaik untuk memastikan keserasian silang pelayar HTML5, memberi tumpuan kepada pengesanan ciri, peningkatan progresif, dan kaedah ujian.

Apakah tujuan & lt; meter & gt; unsur? Apakah tujuan & lt; meter & gt; unsur? Mar 21, 2025 pm 12:35 PM

Artikel ini membincangkan html & lt; meter & gt; elemen, digunakan untuk memaparkan nilai skalar atau pecahan dalam julat, dan aplikasi umum dalam pembangunan web. Ia membezakan & lt; meter & gt; dari & lt; kemajuan & gt; dan Ex

Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Mar 17, 2025 pm 12:27 PM

Artikel ini membincangkan menggunakan atribut pengesahan bentuk HTML5 seperti had, corak, min, max, dan panjang untuk mengesahkan input pengguna secara langsung dalam penyemak imbas.

Bagaimana saya menggunakan html5 & lt; masa & gt; elemen untuk mewakili tarikh dan masa secara semantik? Bagaimana saya menggunakan html5 & lt; masa & gt; elemen untuk mewakili tarikh dan masa secara semantik? Mar 12, 2025 pm 04:05 PM

Artikel ini menerangkan html5 & lt; time & gt; elemen untuk perwakilan tarikh/masa semantik. Ia menekankan pentingnya atribut DateTime untuk pembacaan mesin (format ISO 8601) bersama teks yang boleh dibaca manusia, meningkatkan aksesibilit

Apakah tag meta viewport? Mengapa penting untuk reka bentuk responsif? Apakah tag meta viewport? Mengapa penting untuk reka bentuk responsif? Mar 20, 2025 pm 05:56 PM

Artikel ini membincangkan tag Meta Viewport, penting untuk reka bentuk web responsif pada peranti mudah alih. Ia menerangkan bagaimana penggunaan yang betul memastikan skala kandungan yang optimum dan interaksi pengguna, sementara penyalahgunaan boleh membawa kepada isu reka bentuk dan kebolehaksesan.

Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Mar 20, 2025 pm 06:05 PM

Artikel ini membincangkan & lt; iframe & gt; Tujuan TAG dalam membenamkan kandungan luaran ke dalam halaman web, kegunaan umum, risiko keselamatan, dan alternatif seperti tag objek dan API.

See all articles