Javascript 在ajax响应元素上触发JQuery事件
我的codeigniter项目中的事件触发有问题。我想在我的页面中动态加载一个表。这个表是通过ajax调用从我的控制器返回的。我想在该表的一个范围内触发一个click事件。我尝试了很多方法,但都不起作用。我在这里附上我的代码。请帮我找到解决办法 控制器:Javascript 在ajax响应元素上触发JQuery事件,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我的codeigniter项目中的事件触发有问题。我想在我的页面中动态加载一个表。这个表是通过ajax调用从我的控制器返回的。我想在该表的一个范围内触发一个click事件。我尝试了很多方法,但都不起作用。我在这里附上我的代码。请帮我找到解决办法 控制器: $str = '<table> <tr> <td class="cost date" id="date_'.$request['SupplyID'].'">
$str = '<table>
<tr>
<td class="cost date" id="date_'.$request['SupplyID'].'">
<span class="editable" style="display: none;">
<input type="text" class="expiry" autocomplete="off" data-date-id="date_'.$request['SMSSupplyID'].'">
</span>
<span class="cnt" style="display: inline;">Choose</span>
</td>
</tr>
</table>';
echo $str;
我尝试了以下更改,但没有用
(一)
(二)
你可以试试这个
$(document).find(".cnt").on("click",function(){
console.log(1); // for testing
});
你可以试试这个
$(document).find(".cnt").on("click",function(){
console.log(1); // for testing
});
您需要将事件委托给动态创建的元素
$(document).on('click','.cnt',function(){
alert("Processing comes here");
});
您需要将事件委托给动态创建的元素
$(document).on('click','.cnt',function(){
alert("Processing comes here");
});
您可以为此使用事件委派。将事件绑定到dom上的父元素(documentready)。或者你可以简单地使用
$("body").on("click", ".cnt", function() {
});
您可以为此使用事件委派。将事件绑定到dom上的父元素(documentready)。或者你可以简单地使用
$("body").on("click", ".cnt", function() {
});
试试我的答案,我希望它能解决你的问题。试试我的答案,我希望它能解决你的问题。只使用“on”并不意味着“事件授权”。您的代码与普通的单击事件绑定一样。仅使用“on”并不意味着“事件委派”。您的代码与普通的单击事件绑定一样。@geeth感谢您接受我的回答。很高兴帮助你。@geeth谢谢你接受我的回答。很高兴帮助你。
$("body").on("click", ".cnt", function() {
});