我有以下标记,我无法逃脱onclick事件的ajax部分,它是动态内容追加。
<a class="_button" onclick="$('#add ul')
.append('<li><div class=\'error\'>
<img src=\'img/spinner.gif\' class=\'ajax_progress\' /><span></span></div></div>
<b class=\'bg\'>Prénom, Nom</b> <input type=\'text\' onclick=\'$(this).autocomplete(autocomp_opt);\'
class=\'_input _input_text\' style=\'width: 200px;height:24px\' value=\'\' />
<b class=\'bg\'>Montant</b>
<input type=\'text\' id=\'\'
class=\'_input _input_text _int\'
style=\'height:24px\' value=\'\' /> €
<input type=\'submit\' class=\'_submit\' cs_user_id=\'\'
onclick=\'$.ajax({type:\'POST\',url:\'\'})\'
value=\'Ajouter\' /></li>')"
style="float: left;margin-top: 0px;margin-left: 5px;">Ajouter un associé</a>
返回错误的部分是这一部分:
onclick=\'$.ajax({type:\'POST\',url:\'\'})\'
syntax error
[Break On This Error]
$.ajax({type:
所以我想这是因为我在单引号内有单引号,但在这种情况下有没有办法逃避引号?
答案 0 :(得分:3)
圣牛很难读懂。不要对自己这样做。创建一个单独的JS文件,然后添加:
$("input[type=submit]").on('click', function () {
$.ajax({type: "POST", url: ""});
});
在另一个JS文件中,您可以使用所需的所有引号。
答案 1 :(得分:0)
如果您希望动态添加一堆这些LI,则可能需要向文档添加一个事件侦听器,以处理特定选择器上的所有单击事件。以下是您可能尝试的示例:
$(document).on("click", "._input ._input_text", function(e) {$(e.target).autocomplete(autocomp_opt);});
这需要进入你的DOM就绪函数,它会自动将click事件处理程序添加到与选择器匹配的对象中。