删除以下 jQuery 点击功能
Posted
技术标签:
【中文标题】删除以下 jQuery 点击功能【英文标题】:Removing following jQuery click function 【发布时间】:2011-09-14 09:24:27 【问题描述】:我正在尝试使用 Jquery 将表单验证添加到 Wordpress 中的自定义帖子类型。一切正常,除了提交按钮附加了一个内置点击事件,该事件添加了一个类以使按钮看起来被禁用并显示加载 gif。
现在表单实际上并没有提交,但它看起来对用户来说是这样,这让客户感到困惑。我尝试将 removeClass 添加到我的验证脚本中,但内置脚本在我之后触发,所以我似乎无法做任何事情来影响它。
有没有办法在表单返回 false 时停止此点击事件触发,最好不要尝试在 Wordpress 文件中找到它(因为我觉得这不值得)
谢谢
更新:
添加类的脚本部分(在 autosave.js 中)在这里
b('input[type="submit"], a.submitdelete', "#submitpost").click(function ()
blockSave = true;
window.onbeforeunload = null;
b(":button, :submit", "#submitpost").each(function ()
var c = b(this);
if (c.hasClass("button-primary"))
c.addClass("button-primary-disabled")
else
c.addClass("button-disabled")
);
if (b(this).attr("id") == "publish")
b("#ajax-loading").css("visibility", "visible")
else
b("#draft-ajax-loading").css("visibility", "visible")
);
这对我来说有点太深入了,我不太擅长 javascript。我不指望任何人把 wordpress 文件拿出来,但是任何人都可以立即告诉我发生了什么事情吗?我正在考虑删除 addClass 函数作为一种廉价且俗气的解决方法(我必须更新每个版本),但我当然不希望这样做。
【问题讨论】:
【参考方案1】:您需要删除对象上的点击处理程序,而不仅仅是类。
$('.button').removeClass('submit').unbind("click");
看到这个帖子How to use .removeClass() to disable jquery function
【讨论】:
我刚刚尝试过,它仍然添加了类,并且随后单击按钮通过了验证并错误地提交了表单 嗯....点击可能是从外部元素委托的。如果是这种情况,那么您可能必须深入研究 wp 文件才能找到触发该事件的位置。 我找到了添加类的脚本部分,但我完全不确定应该编辑哪个位 如果验证失败,我想设置一个变量,然后将其添加到我在上面发布的 if 语句中,所以如果它是真的,它不会添加类。但是,如何将该变量从一个脚本传递到下一个脚本?它告诉我它在加载 wordpress 脚本时是未定义的 我决定在成功时将 addClass 添加到验证脚本中,并将其从 wordpress 文件中删除。是否意味着我必须在每个版本上更新它,但是哦。以上是关于删除以下 jQuery 点击功能的主要内容,如果未能解决你的问题,请参考以下文章