Rumah > hujung hadapan web > tutorial js > Bagaimana untuk melaksanakan jQuery untuk membuat menu hilang apabila mengklik elsewhere_jquery

Bagaimana untuk melaksanakan jQuery untuk membuat menu hilang apabila mengklik elsewhere_jquery

WBOY
Lepaskan: 2016-05-16 15:04:23
asal
1668 orang telah melayarinya

Contoh dalam artikel ini menerangkan cara melaksanakan jQuery untuk membuat menu hilang apabila mengklik di tempat lain. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

<script type="text/javascript">
  function stopPropagation(e) {
    if (e.stopPropagation) 
      e.stopPropagation();//停止冒泡  非ie
    else 
      e.cancelBubble = true;//停止冒泡 ie
  }
  $(document).bind('click',function(){
    $('#test').css('display','none');
  });
  $('#test').bind('click',function(e){
  //写要执行的内容....吥啦不啦
    stopPropagation(e);//调用停止冒泡方法,阻止document方法的执行
  });
</script>

Salin selepas log masuk

Perkaranya seperti ini, sebagai contoh, jika saya mengklik pada div, menu akan dipaparkan apabila saya mengklik di tempat lain, menu itu hilang diklik, menu akan dipaparkan Jika dokumen diklik, menu akan dipaparkan hanya sembunyikan menu, tetapi jika anda mengklik pada div, ia bersamaan dengan mengklik pada dokumen, jadi laksanakan pernyataan yang akan dilaksanakan. acara klik div, dan kemudian tamatkan gelembung js, jika tidak, acara klik div akan dilaksanakan dan terus menggelembung Pergi ke acara dokumen dan laksanakan kandungan klik dokumen

Apa yang saya maksudkan ialah div juga tergolong dalam dokumen, jadi mengklik pada div juga mengklik pada dokumen Oleh itu, tanpa sebarang sekatan, apabila mengklik pada div, kaedah div dan dokumen akan dilaksanakan berada dalam Klik kaedah div untuk berhenti menggelegak Kaedah khusus adalah menggunakan kaedah e.stopPropagation() → "terpakai kepada bukan-iaitu", e.cancelBubble=true

Idea lain ialah untuk menentukan sumber pencetus yang merupakan kaedah klik dokumen Jika ia adalah div, tiada operasi akan dilakukan, iaitu, kembali Jika ia bukan div, maka menu akan disembunyikan mengikuti

Objek peristiwa mengandungi atribut penting: target(W3C)/srcElement(IE) Atribut ini mengenal pasti elemen asal yang mencetuskan peristiwa Idea kedua ialah menggunakan atribut ini. Kami boleh mengikat pengendali acara secara langsung kepada acara klik dokumen dan menentukan dalam pengendali acara sama ada sumber acara ialah elemen div dengan id==test atau sub-elemennya Jika ya, kaedah pulangan tidak melakukan apa-apa operasi. Jika tidak, acara disembunyikan.

$(document).bind('click',function(e){
    var e = e || window.event; //浏览器兼容性
    var elem = e.target || e.srcElement;
    while (elem) { //循环判断至跟节点,防止点击的是div子元素
      if (elem.id && elem.id=='test') {
        return;
      }
      elem = elem.parentNode;
    }
    $('#test').css('display','none'); //点击的不是div或其子元素
});

Salin selepas log masuk

Pembaca yang berminat dengan lebih banyak kandungan berkaitan jQuery boleh menyemak topik khas di tapak ini: "Ringkasan teknik data json operasi jQuery", "Ringkasan khas penukaran jQuery kesan dan teknik", " Ringkasan kesan dan teknik khas seret dan lepas jQuery", "Ringkasan teknik sambungan jQuery", "Ringkasan jQuery klasik biasa kesan khas", "animasi jQuery dan kesan khas Ringkasan penggunaan ", "ringkasan penggunaan pemilih jquery " dan "pemalam biasa jQuery dan ringkasan penggunaan "

Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan jQuery.

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan