click( ) 或触发器( 'click' ) 不起作用

发布于 2024-12-10 12:01:56 字数 404 浏览 0 评论 0 原文

我正在对锚元素使用 jquery live 方法,如果单击锚点,则单击委托将按预期工作。但是,如果我通过触发单击事件在调试控制台上尝试此操作,它永远不会起作用。 请检查下面的示例,

<a href="#" id="test">click me</a>

$('#test').live('click',function(){
      alert('live click event');
});

如果我尝试在控制台上触发它, 如下所示。它永远不会起作用。

$('#test').trigger('click');

有谁知道是什么原因导致这个问题?

注意:Javascript 控制台中没有错误。

I am using the jquery live method for an anchor element and if I click the anchor then click delegation works as expected. But if I try this on debug console by triggering click event, it never works. Please check the below example

<a href="#" id="test">click me</a>

$('#test').live('click',function(){
      alert('live click event');
});

If I try to trigger it on console like below. It never works.

$('#test').trigger('click');

Does anyone know what's causing this problem?

Note: There are no errors in the Javascript console.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

流心雨 2024-12-17 12:01:56

我认为你的代码很好,所以以下之一可能是问题的原因:

  1. 正如之前的评论中提到的,你可能有另一个具有相同 id 的标签(我知道情况并非如此,但如果其他人会读到这篇文章,我们也许可以通过列出所有可以想象的问题原因来帮助他们)

  2. 您的页面上可能有一个删除标签的事件,因此当您尝试在控制台中查询它时,标签不再存在,在此如果您尝试获取不存在的对象

  3. 给定的标签可能仅在特定事件上创建,也许当您尝试访问该标签时它还不存在,因为触发它的事件尚未触发

  4. 您可能遇到命名问题

如果以上都不符合您的情况,您应该尝试运行任何其他 jquery 命令。如果其他 jquery 命令也失败,那么问题的根源可能不在您要查找的位置。

如果上述想法对您没有帮助,您可以考虑向我们提供有关系统结构(标记)和功能的更多详细信息。也许有人能够帮助你。

I think your code is fine, so one of the following might be the cause of the problem:

  1. As mentioned in a comment before, you might have another tag with the same id (I know this is not the case, but if other people will read this, we might be able to help them by enlisting all imaginable causes of the problem)

  2. You might have an event on your page which deletes the tag, so when you try to query it in your console the tag doesn't exist any more, in this case you try to get a nonexistent object

  3. The given tag might be created only on a certain event and maybe when you try to reach the tag it doesn't exist yet, because the event which triggers it was not triggered yet

  4. You might have a naming issue

If none of the above matches your case, you should try to run any other jquery command. If other jquery commands fail too then the source of the problem might not be where you are looking for it.

If none of the ideas above help you, you might consider giving us more details about the structure (markup) and functionality of your system. Maybe someone is able to help you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文