当点击子容器中的图像链接时,我想要否决父div上的onclick。
我在名为“.sight-title”的容器上使用onlick来: - 使用toggleClass(“active”)更改类; - 使用ajax调用更改内容
初始状态:
<div class="sight-title" id="S2851">
<div class="row1"></div>
<div class="row2"></div>
</div>
点击后:
<div class="sight-title active" id="S2851">
<div class="detail1">
<a class="wikilink" target="_blank" title="en.wikipedia.org/wiki/Marollen" href="http://en.wikipedia.org/wiki/Marollen"><img src="img/contact/culisite_wikipedia.png" border="0"></a>
</div>
<div class="detail2"></div>
</div>
当再次点击父“.sight-title”时,它会变回初始状态。
但是当点击class =“wikilinks”时,我不希望父容器上的onclick工作。
jquery代码:当点击class =“wikilinks”时,应禁用else部分...
$(".sight-title").click(function () {
var id=$(this).attr("id");
$("#"+id).toggleClass("active");
if($(this).hasClass("active")){
$("#"+id).html(ajax_load);
$.get(
loadUrlDetail+"?id="+id+'&arrondissement='+arrondissement,
{language: "php", version: 5},
function(responseText){
$("#"+id).html(responseText);
},
"html"
);
} else {
$("#"+id).html(ajax_load);
$.get(
loadUrlTitle+"?id="+id+'&arrondissement='+arrondissement,
{language: "php", version: 5},
function(responseText){
$("#"+id).html(responseText);
},
"html"
);
}
});
答案 0 :(得分:0)
使用jQuery的unbind:http://api.jquery.com/unbind/
$('a.wikilink').click(function() {
//do stuff
$('a.sight-title').unbind('click');
});
编辑2:
如果在创建点击事件时链接不存在,则可能需要使用live
。
$('a.wikilink').live('click', function() {
//do stuff
$('a.sight-title').unbind('click');
});
编辑:
作为旁注,您可能希望使用jQuery's load function而不是您的GET等。
我认为你会发现它会让你的生活更轻松。
您还应该查看您的选择器。您使用$("#"+id)
选择的对象与$(this)
选择的对象完全相同。