0

我使用 ajax 在我的页面中加载了一些内容。我想在单击某些锚点时运行 JS 函数。这些锚点属于使用 ajax 加载的代码。ajax 请求和 JS 函数都位于一个单独的 JS 文件中,位于jQuery(document).ready(function() {.

我在这个 JS 文件中有几十个函数,它们运行良好,但是这个特定的函数是唯一由使用 ajax 检索的代码调用的函数,它不起作用。我的代码:

html主文件:

<!-- code -->
<div id="ajaxContentGoesHere">
<!-- content inserted here by ajax function -->
<td><a href="#" id="aLancamentoEdit<?php echo $lancamento['Lancamento']['lan_itid']; ?>">Editar</a></td>
</div>    
<script src="/js/myJS.js"></script>
</body> 

/js/myJS.js 文件:

jQuery(document).ready(function() {
/*some other functions here*/
 $("[id^='aLancamentoEdit']").click(function(){
        console.log(1);
}
});

我试图把$("[id^='aLancamentoEdit']").click(function(){里面的 html 主文件,在/js/myJS.js调用之后的一个标签中。没用。还尝试更改选择器以匹配我的锚类(我为此声明了一个类)。也没有成功。最后还尝试在函数中添加一个名称并onclick=""在锚点内调用它。又失败了。

我究竟做错了什么?

4

2 回答 2

4

由于以 'aLancamentoEdit' 开头的 id 元素是由 ajax 动态添加的,因此您需要将click处理程序绑定到父级:

$('#ajaxContentGoesHere').on('click', "[id^='aLancamentoEdit']", function() {
   console.log(1);
});
于 2013-10-03T19:06:07.903 回答
3

用于.on()动态元素事件(在您的情况下为 ajax 内容)。尝试:

jQuery(document).ready(function() {
/*some other functions here*/
 $("#ajaxContentGoesHere").on("click","[id^='aLancamentoEdit']",function(){
        console.log(1);
}
});
于 2013-10-03T19:05:08.360 回答