2016-01-20 38 views
-1

如何在jquery上點擊div鏈接後獲得「onclick」?如何在點擊div鏈接後獲得「onclick」?

<a href="#"> 
    <img src="some.jpg" /> 
    <div class="cont" onclick="showDiv()"></div> 
</a> 
img { 
    position: relative; 
} 

.cont { 
    position: absolute; 
    top: 0px; 
    right: 0px; 
} 

我想,當你點擊區域「.cont」發生,我可以處理的事件。我嘗試這樣做:

$(document).ready(function() { 
    function showDiv() { 
     alert("test"); 
    } 
}); 

我的js

$('#tmp').justifiedGallery({ 
     rowHeight: 350, 
     maxRowHeight: '100%' 
    }).on('jg.complete', function() { 
     $(this).find('a').colorbox({ 
      maxWidth : '90%', 
      maxHeight : '90%', 
      opacity : 0.2, 
      transition : 'elastic', 
      current : '' 
     }); 
    }); 
+0

做你嘗試新鮮事物這麼遠嗎? –

+0

有什麼問題?你可以調用函數用的onClick – Sapikelio

+0

細說您的問題請 – Nofi

回答

1

你的的document.ready處理程序中定義的showDiv()功能,所以它出來的onclick屬性的範圍。您需要在較低水平來定義函數:

<head> 
    <script type="text/javascript"> 
     function showDiv() { 
      alert("test"); 
     } 

     $(document).ready(function() { 
      // jquery code here... 
     }); 
    </script> 
</head> 

更好的解決方案完全是使用Javascript功能來連接你的事件,因爲它是中分類,並刪除過時的onclick屬性:

<a href="#"> 
    <img src="some.jpg" /> 
    <div class="cont"></div> 
</a> 
$(document).ready(function() { 
    $('.cont').click(function() { 
     alert('test'); 
    }); 
}); 
+0

坦克, 我在做$(document).ready(function(){function showDiv(){}}) ; (((( – deni5n

0

你不能寫這樣的功能在$(文件)。就緒(函數()

試試這個

$(document).ready(function(){ 
     $(".cont").click(function(){ 
      alert("test"); 
     }); 
    }); 

$(document).ready(function(){ 
      showDiv(); 
     }); 
    function showDiv() { 
     alert("test"); 
    } 
0

有兩種方法可以做到這一點。

我會做的方式:

$('.cont').on('click', function(){ 
    alert('qwerty'); 
}); 

這樣,你就不會需要的onclick = 「showDiv()」在HTML這將使你的HTML更清潔。

使用您的onclick元素的方式:

function showDiv(){ 
    alert('zxcvb'); 
} 

Sample at CodePen