取消绑定父事件暂时jquery

时间:2013-07-23 04:59:45

标签: jquery javascript-events

我有一个div,它有一个加载消息的事件,但是在该div中是一个单选按钮。我正在尝试做的是,如果选择了该div中的单选按钮,则停止div加载消息。我试过的是检测单选按钮是否被选中,如果是,则执行某些操作,否则显示该消息。问题是,它没有做它应该做的事情。 我认为这是因为它永远不会达到单选按钮的已检查状态,因为我首先点击了父div加载消息。

这是我到目前为止的代码。

function loadMessage(messageId,id)
{   
    var radioId = 'c' + id;
        if($('#'+radioId).is(':checked')){

    } else {
        if(currentMail != messageId) {
            currentMail = messageId;
            var loc = 'ajax.php?ax=fetch-message&mx='+messageId;
            messageContainer.load(loc);
            $("#right").show();
            expandRight()
        } else {
            currentMail = "";
            minimizeRight(true);
            $("#right").hide();
        }
    }
}`

这是html:

 <div onclick="loadMessage('5ca477dd1d',4152)" class="row2 mail-message">
 <input type="checkbox" id="c4152" name="c4152">
 </div>

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

首先复选框而不是广播

我认为要解决您的问题,请从checkbox移除div,因为当click div checkbox is automatically clicked

试试吧,

<div onclick="loadMessage('5ca477dd1d',4152)" class="row2 mail-message">
</div>
<input type="checkbox" id="c4152" name="c4152">

或者,您可bind click eventcheckbox而不是div element

<div class="row2 mail-message">
    <input onclick="loadMessage('5ca477dd1d',4152)"  type="checkbox" id="c4152" name="c4152">
</div>

另外,从code我无法理解messageContainer