所以我使用 .load 来显示输出数据的 php 文件中的一些信息。我想使用 .load 以便我可以偶尔或在特定操作时刷新这些数据。不幸的是,这会影响我网站的其他部分。有一个按钮被输出,jquery 通常会拦截该按钮。虽然现在我无法选择该类,因为由于使用了.load,它似乎不在我的源代码中。
我该如何解决这个问题?
谢谢
所以我使用 .load 来显示输出数据的 php 文件中的一些信息。我想使用 .load 以便我可以偶尔或在特定操作时刷新这些数据。不幸的是,这会影响我网站的其他部分。有一个按钮被输出,jquery 通常会拦截该按钮。虽然现在我无法选择该类,因为由于使用了.load,它似乎不在我的源代码中。
我该如何解决这个问题?
谢谢
据我了解,您需要使用 jquery on()在您的按钮上设置点击事件。不是您的按钮不存在,而是它被重新创建。因此,除非您使用 on() 进行设置,否则您的初始选择器将不起作用。您的代码将如下所示:
$('.fRequest').on("click", ".friendConfirm", function () {
});
上面的代码会在页面上找到一个静态元素(最好是动态加载内容的父元素),并会寻找第二个参数中指定的类的所有元素。然后它将在第一个参数中找到的指定事件附加到所有找到的元素,即使它们是在初始 pageLoad 之后创建的。
请注意,jQuery on()适用于 jquery 1.7.1 或更高版本。如果您使用的是早期版本,则可能需要使用live()。
如果它在页面上仍然可见,则 jQuery 应该能够与之交互 - 我使用 jQuery 来更改加载到文档中的元素,该元素一直加载到文档中。
我认为可能会发生两件事:您的 PHP 脚本正在生成的按钮的新副本与您的 jQuery 选择器所依赖的 ID/类/等不同,或者您正在按 ID 选择并且您的更新过程导致呈现多个具有相同 ID 的按钮,这将不起作用。