JS函数返回self / object,而不是运行

时间:2015-12-24 01:38:41

标签: javascript

编辑:这段代码应该可以正常工作。但是它在我的应用程序中无效。

所以我有一个愚蠢的简单视图。这有一个链接,我将用它来清除Ajax功能。然而,JS没有运行,它运行"但是每个函数似乎都返回了自己,并且从未真正运行过。没有错误或任何只是表现得很奇怪。我为应用程序使用了thinkbot吊带。

// view: app/views/savings/new.html.erb
<h3> <%= title %></h3>

<div>
  <h4 id="suggested-savings-list"> foo
  </h4>
</div>

<div>
  <a href="" class="suggested-savings-btn">Random</a>
</div>
// js: app/assets/javascripts/savings/suggested_savings.js
$(document).ready(function() {
  var $suggestedSavingsBtn = $(".suggested-savings-btn");

  var updateSuggestedSavingsList = function(){
    // var $suggestedSavingsList = $(".suggested-savings-list")
    console.log("clicked")
  };

  $suggestedSavingsBtn.on("click", updateSuggestedSavingsList);
  // $suggestedSavingsBtn.on("click", function(){
  //   var foo = 2;
  //   console.log(foo)
  // });
});

如果我在控制台中调试它,并调用它,但是当运行on()时没有调用updateSuggestedSavingsList。

>updateSuggestedSavingsList() =>
> "clicked"

如果我单步执行,on()它会跳转到结束});

1 个答案:

答案 0 :(得分:0)

您实际上是将该功能绑定到该链接的click事件。

$suggestedSavingsBtn.on("click", updateSuggestedSavingsList);

表示&#34;当我点击该元素时,运行此函数updateSuggestedSavingsList&#34;。

它只是将事件注册到事件中,如果&#34;点击&#34;在元素火上发生事件,然后调用该函数。

Fiddle