gpt4 book ai didi

jquery - onclick jquery 菜单在 ajax 之后不起作用

转载 作者:行者123 更新时间:2023-11-28 10:05:55 25 4
gpt4 key购买 nike

在使用一些 jquery 和 ajax 时遇到问题。基本上用户通过 ajax 表单登录。该表单位于 jquery onclick 下拉菜单中,该菜单也用于购物车菜单(只是更改了命名代码 (css+jquery),因此不会相互冲突,并且在用户登录(通过 ajax)之前两者都可以正常工作)。

下面是jquery代码

//////Cart App
jQuery(".dropdown-cart dt a").click(function() {
// Change the behaviour of onclick states for links within the menu.
var toggleId = "#" + this.id.replace(/^link/,"ul");

// Hides all other menus depending on JQuery id assigned to them
jQuery(".dropdown-cart dd ul").not(toggleId).hide();

//Only toggles the menu we want since the menu could be showing and we want to hide it.
jQuery(toggleId).toggle();

//Change the css class on the menu header to show the selected class.
if(jQuery(toggleId).css("display") == "none"){
jQuery(this).removeClass("selected");
}else{
jQuery(this).addClass("selected");
}
});

jQuery(".dropdown-cart dd ul li a").click(function() {

// This is the default behaviour for all links within the menus
var text = jQuery(this).html();
jQuery(".dropdown-cart dt a span").html(text);
jQuery(".dropdown-cart dd ul").hide();

});

jQuery(document).bind('click', function(e) {

// Lets hide the menu when the page is clicked anywhere but the menu.
var $clicked = jQuery(e.target);
if (! $clicked.parents().hasClass("dropdown-cart")){
jQuery(".dropdown-cart dd ul").hide();
jQuery(".dropdown-cart dt a").removeClass("selected");
}

});

我已经尝试了一些 .live 组合,甚至是 .delgate,但在用户登录后,登录和购物车 onclick 菜单仍然无法工作,直到页面被刷新

有什么想法吗??

干杯新西兰战士

最佳答案

我猜您是在用户通过 ajax 登录后更新 anchor 标记。所以你之前注册的事件绑定(bind)(点击事件)丢失了。你应该使用 jQuery on用于绑定(bind)而不是点击

这段代码

jQuery(".dropdown-cart dt a").click(function() {
//remaining code
});

应该改为

$(document).on("click",".dropdown-cart dt a",function() {
//remaining code
});

jquery on 适用于当前元素和 future 元素,从 jQuery 1.7+ 版本开始可用。

关于jquery - onclick jquery 菜单在 ajax 之后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10798790/

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