好的,所以这个非常简单,实时点击与点击会影响maccordion在两者中遵循相同行为的能力。正在讨论的行是“ $(”。maccordion h3 input“)。live('click',function(){”。
我想要的只是基本点击按钮maccordion没有做任何事情点击标题中的任何其他地方,它遵循正常的动画。
编辑:只是添加我尝试添加e.stopImmediatePropagation();和e.stopPropagation(); Niether做了什么。此外,我必须使用live,因为插入的代码是动态创建的,并通过ajax引入。<div class="maccordion">
<h3><input type='button' value='cick'></h3>
<ul>
<li><a href="/custom.html">Custom</a>
</ul>
<h3><a href="/account">Account</a></h3>
<ul>
<li><a href="/account/avatar.html">Avatar</a>
</ul>
$(function () {
//Turn the div into an accordion
$(".maccordion").maccordion({
header: 'h3'
});
//capture the click on the a tag
$(".maccordion h3 input").live('click', function () {
return false;
});
});
答案 0 :(得分:0)
$(function () {
//Turn the div into an accordion
$(".maccordion").accordion({
header: 'h3'
});
//capture the click on the a tag
$(".maccordion h3 input").on('click', function () {
return false;
});
});
从jQuery 1.7开始,不推荐使用.live()
方法。使用.on()
附加事件处理程序。旧版jQuery
的用户应优先使用.delegate()
.live()
。
此方法提供了将委托事件处理程序附加到页面的文档元素的方法,这可以在将内容动态添加到页面时简化事件处理程序的使用。有关详细信息,请参阅.on()
方法中有关直接事件与委派事件的讨论。
根据其后继方法重写.live()
方法很简单;这些是用于所有三种事件附件方法的等效调用的模板:
$(selector).live(events, data, handler); // jQuery 1.3+
$(document).delegate(selector, events, data, handler); // jQuery 1.4.3+
$(document).on(events, selector, data, handler); // jQuery 1.7+