主干事件未触发

发布于 2024-12-07 20:38:10 字数 818 浏览 0 评论 0原文

我知道其他帖子已经与此相关,但到目前为止我看到的答案没有帮助,并且与我的情况略有不同。

window.BotView = Backbone.View.extend
  initialize: ->
    _.bindAll @, 'alert', 'render'
    @el # by calling this here, it initializes the jQuery object

  el: $("#submit")

  model: Chatbot

  events:
    "click #submit" : "alert"

  alert: ->
    console.log("alert called")
    alert("event observed")

  render: ->
    alert("Rendered")


jQuery ->
  window.App = new BotView
  console.log App.el

我想要的只是当我点击 idsubmit 的提交按钮时,它会触发 alert 功能。但是,我什至无法让它发挥作用。

我的 #submit 上的简单 click 处理程序无法正常工作的 events 是怎么回事?

我已经仔细检查了我的 el 是否已正确初始化,但即使如此,也没关系,因为点击处理程序没有使用 el

有谁能解释为什么这个简单事件没有触发?

提前致谢

I know other posts have been made regarding this, but so far the answers I've seen have not been helpful, and slightly different from my situation.

window.BotView = Backbone.View.extend
  initialize: ->
    _.bindAll @, 'alert', 'render'
    @el # by calling this here, it initializes the jQuery object

  el: $("#submit")

  model: Chatbot

  events:
    "click #submit" : "alert"

  alert: ->
    console.log("alert called")
    alert("event observed")

  render: ->
    alert("Rendered")


jQuery ->
  window.App = new BotView
  console.log App.el

All I want is when I click on the submit button with the id of submit for it to fire the alert function. However, I can't even get this to work.

What is going on with the events that my simple click handler on #submit isn't working?

I have double checked that my el is properly initialized, but even so, it should not matter because the click handler is not using el

Could anyone shed some light on why this simple event is not firing?

Thanks in advance

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

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

发布评论

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

评论(1

逆光飞翔i 2024-12-14 20:38:10

在您所说的事件中,在 #submit 元素中,查找 ID 为 #submit 并被单击的元素。将其更改为

'click' : 'alert'

,它应该可以正常工作。

与上面内容等效的 jQuery 是这样的:

$('#submit').find('#submit').click(alert);

In your events you are saying, in the #submit element, look for an element that gets clicked with the ID of #submit. Change it to

'click' : 'alert'

and it should work fine.

The jQuery equivalent of what you have above is this:

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