为什么在Backbone中检查复选框是否需要超时

时间:2013-02-27 15:17:59

标签: javascript jquery backbone.js coffeescript

@$el.html(@template())
@$('an_input').val('2')               # ---> this works
@$('selector').prop('checked', true) # ---> does not work  


@$el.html(@template())
@$('an_input').val('2')                  # ---> this works
setTimeout( ->
  @$('selector').prop('checked', true)  # ---> works!
  1000
)

任何人都知道为什么?

小提琴:http://jsfiddle.net/EC49U/

1 个答案:

答案 0 :(得分:0)

它在正常情况下有效。在您的情况下,选择器在1秒后才能找到您要定位的元素。 这是一个没有超时的工作示例: http://jsfiddle.net/gouegd/zXGVD/

注意我使用checked =“checked”而不是true,我认为这更符合HTML。

$('#car').prop('checked', "checked")