0

我在生成自定义控制器时创建的app/assets文件夹中有一个custom.js文件。现在我在app/views/customs下创建了一个custom_action.js.erb文件,它是自定义控制器视图的一部分。此 custom_action.js.erb 文件用于处理 ajax 响应。

现在我面临的问题是我无法将 custom.js 中定义的函数访问custom_action.js.erb。这是我的custom.js文件。

$(document).ready(function(){
     function someFunction() {
            // do something              
     }
}

这是我的custom_action.js.erb文件。

$('#selector').onClick{
    someFunction();  //This is where I want to access the custom.js function
}

现在我在 custom.js 和 custom_action.js.erb 文件中重复这个函数。当我在custom.js文件中定义它时,有没有办法避免这种重复并使该函数可访问。

4

1 回答 1

1

您不需要将函数包装在$(document).ready. 当您这样做时,它仅在该特定就绪回调处理程序函数内具有范围。jQuery 也没有onClick方法。

$(document).ready只需要在页面加载时立即运行的代码需要在页面中定位元素。

function someFunction() {
            // do something              
     }

$(document).ready(function(){
    $('#selector').click(function(){
         someFunction();
    });
      /* or */
      $('#selector').click(someFunction);
});
于 2013-11-07T05:28:18.920 回答