gpt4 book ai didi

javascript - JQuery 事件处理以及通过 POST 检索的数据?

转载 作者:行者123 更新时间:2023-12-03 12:33:16 25 4
gpt4 key购买 nike

我有一个页面,该页面会加载,然后使用 Jquery POST 请求发送到我的 .NET MVC 项目来获取一些 HTML 并将其放入页面上的容器中。我的问题是我似乎无法访问该数据的 html 属性。例如,我 POST 只是为了获取一个带有链接的 div。该链接的 ID 为“LinkClick”。当我点击链接时,我想要一个弹出窗口:

    $("#LinkClick").click(function (e) {
e.preventDefault();
alert("hi");
});

如果我将其放入我的 .cshtml 文件中,它就可以工作,但我宁愿将 Javascript 保留在我的 MVC 项目之外。我如何才能访问这个“LinkClick”,它实际上并不存在于我的页面中,但不久后通过发布请求就存在了。

最佳答案

您正在通过 .on() 寻找事件委托(delegate)方法。

$(document).on('click', '#LinkClick', function (e) {
e.preventDefault();
alert("hi");
});

注意:

请注意,在绑定(bind)选择器时,您不应该真正使用 document。我在这种情况下这样做是因为我不知道加载时页面上存在的最接近的父级。为了提高效率,您应该使用加载期间页面上存在的新 ajax 创建元素的最接近的 parent 作为绑定(bind)元素。这样,您就不会在 DOM 树中一直冒泡事件。

此外,对于 jQuery 1.7+ 版本,您可以使用 .on()方法。

对于 jQuery 1.4.2 - 1.7 版本,您应该使用 .delegate()方法。

对于 jQuery 1.4.2 之前的版本,您可以使用 .live()方法。然而,强烈不鼓励使用这种方法。建议您升级 jQuery 版本而不是使用此方法。

关于javascript - JQuery 事件处理以及通过 POST 检索的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23837570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com