jQuery和常规javascript:防止jquery onclick从父结果触发

时间:2012-07-13 23:33:57

标签: jquery onclick form-submit onclicklistener

我有一些简单的HTML:

    <input type="submit" value="Save" onclick="return isAbleToSubmit();" id="testSubmit" class="alertWhenDone"/>
function isAbleToSubmit() {
    return confirm ("Do you want to continue?");
}

我没有jQuery代码:

$(".alertWhenDone").click(function (event) {
   alert ("i am done");
}

如果他们在确认时选择是,我只需要在完成通话时发出警报。 做这个的最好方式是什么?

请注意,我将其分开,因为我希望所有具有alertWhenDone的类都具有显示处理链接msg的功能。

2 个答案:

答案 0 :(得分:0)

您可以使用data-*属性并在其中存储prompt个字符串。试试这个:

<input type="submit" value="Save" data-confirm="Do you want to continue?" id="testSubmit" class="alertWhenDone"/>

$("input[type=submit]").click(function (event) {
   if (confirm ($(this).data('confirm'))) {
        alert ("i am done");
   }
})

DEMO

答案 1 :(得分:0)

您可以从输入中删除onClick事件并执行:

$(function(){

 $('#testSubmit').click(function(){
    $return = confirm ("Do you want to continue?");
    if ($return == true){
        if ( $(this).hasClass('alertWhenDone') == true){
            //doStuff
            alert('done');                
        }
    }
 })        
})

example