2016-01-20 47 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