javascript
  • jquery
  • html
  • 2013-10-12 171 views 0 likes 
    0

    我有一個div中的兩個圖像和兩個按鈕,現在過程是當我點擊按鈕1,然後圖像1顯示與按鈕2相同..現在我的問題是我希望兩個圖像隱藏當我點擊身體的任何部分..現在我的問題是當我點擊身體它會隱藏,但無法顯示按鈕點擊圖像。隱藏和顯示圖像上的按鈕點擊

    小提琴Here

    HTML

    <input type='button' id='btn1' value='button1'> 
        <img src="abc.jpg" id='img1'> 
         <input type='button' value='button2' id='btn2'> 
        <img src="abc.jpg" id='img2' > 
    

    的js

    $('#btn1').click()(function(){ 
         $('#img1').show(); 
             $('#img2').hide(); 
            }); 
    $('#btn2').click()(function(){ 
         $('#img2').show(); 
             $('#img1').hide(); 
            }); 
    
    $('body').click()(function(){ 
    $('#img1').hide(); 
        $('#img1').hide(); 
    }); 
    

    回答

    2

    嘗試:

    $('#btn1').click(function (e) { 
        e.stopPropagation(); 
        $('#img1').show(); 
        $('#img2').hide(); 
    }); 
    $('#btn2').click(function (e) { 
        e.stopPropagation(); 
        $('#img2').show(); 
        $('#img1').hide(); 
    }); 
    $('body').click(function() { 
        $('#img1,#img2').hide(); 
    }); 
    

    jsFiddle example

    您正在錯誤地使用點擊功能,再加上按鈕上的點擊事件也會將DOM暴露給您放置在主體上的事件。

    +0

    感謝它的jsfiddle工作不是在我的項目 –

    +0

    你得到你的項目是什麼錯誤?你有其他可能會干擾的代碼嗎? – j08691

    +0

    NOt得到任何錯誤e.stoppropagation無法正常工作..當我點擊button1圖像將顯示,然後隱藏由於身體點擊功能 –

    0

    試試這個

    $('body').click(function(e) { 
         var target = $(e.target); 
         if(!target.is('#btn1') || !target.is('#btn2')) { 
          $('#img1').hide(); 
         $('#img1').hide(); 
         } 
        }); 
    
    +0

    或者你可以使用條件,如果((target.id!='btn1'||(target.id!='#btn2')){ – Krishna

    相關問題