Jquery按钮单击事件未触发
Posted
技术标签:
【中文标题】Jquery按钮单击事件未触发【英文标题】:Jquery button click event not firing 【发布时间】:2013-10-14 18:11:46 【问题描述】:似乎是一个简单的问题,但其他问题的解决方案似乎对我不起作用。
试图通过单击按钮触发 AJAX 请求,但似乎没有触发。
示例 html
<button class="remove_weight_button" id="15">x</button>
$(".remove_weight_button").click(function()
var button_id = $(this).attr("id");
$.ajax(
type: "POST",
url: "weight_tracker_process.php",
data:
weight_id: button_id,
action: "remove"
,
success: function()
getWeightData();
,
error: function()
alert("data removal error");
);
return false;
);
【问题讨论】:
首先,您是否在控制台中看到任何错误?它是否到达处理程序(如果没有,它是否包含在 document.ready 中),您是否看到任何 js 错误或网络错误控制台? 您确定在 按钮加载后正在运行 javascript?这是一个常见的错误。 尝试在函数顶部添加阻止默认值 【参考方案1】:您的代码在小提琴中运行良好。您的按钮是否在初始页面加载后通过 AJAX 动态呈现?
使用
$(document).on("click", ".remove_weight_button", function()
而不是
$(".remove_weight_button").click(function()
【讨论】:
啊当然,是的,你是对的,它是由 ajax 加载的。以上如何解决这个问题? @user2803072 您使用的“.click”事件仅查找在初始页面加载期间绘制的元素。 "on" 事件查找页面当前状态的元素 或者$(".remove_weight_button").live("click", function() ...
如果页面是动态加载的并且您使用的是 older 版本的 jQuery。关键是 click
没有注意到你提到的动态加载的 DOM 元素。
这个解决方案救了我.. 我尝试了 1 个小时来使用 JQuery 触发一个事件,但无法做到。
@Mike.MKrallaProductions 您对父/子关系感到困惑。 document
是上例中的父元素。它可以是封装.remove_weight_button
的任何元素。以上是关于Jquery按钮单击事件未触发的主要内容,如果未能解决你的问题,请参考以下文章
ModalPopupExtender OK 按钮单击事件未触发?