我在课堂上有很多按钮search_camera_btn
。
单击按钮时,它会提交一个表单。此步骤有效。另一方面,它也应该触发一个按钮点击事件。
我在发送Ajax 请求的coffeescript 文件中编写了事件监听器,但它只在第一次点击时起作用。
我把代码放在了这个gist中。
Javascript在第一次单击按钮时有效,但在后续单击时失败。
实际上我在单击事件处理程序的开头放置了一条警报消息,但它只在第一次发出警报。而且我的 Firbug 控制台中没有错误消息。(我认为它只是没有触发点击事件处理程序。)
$(".search_camera_btn").click ->
alert "test"
有很多按钮,不管我点击哪个按钮。它总是在第一次点击时起作用。这是我更详细的源代码。下载
有任何想法吗?
我缩小了错误代码的范围。即“准备进入开始”消息仅在第一次调用。但是在 Firebug Javascript 控制台和 Rails 控制台上没有显示错误。我应该在开发模式下启用一些设置吗?
IW2 = get_camera_list: ->
console.log("Start")
ajax_req = $.ajax
url: "update_camera_list/"
type: "GET"
success: (resp) ->
# console.log resp
res = setTimeout (->
ajax_req
), 500
console.log("End")
return
jQuery ->
$(".search_camera_btn").click ->
console.log("Ready to enter start")
IW2.get_camera_list()
编译的 CoffeeScript:
var IW2;
IW2 = {
get_camera_list: function() {
var ajax_req, res;
console.log("Start");
ajax_req = $.ajax({
url: "update_camera_list/",
type: "GET",
success: function(resp) {}
});
res = setTimeout((function() {
return ajax_req;
}), 500);
console.log("End");
}
};
jQuery(function() {
return $(".search_camera_btn").click(function() {
console.log("Ready to enter start");
return IW2.get_camera_list();
});
});