2013-04-17 166 views
0

我有一个看起来像这样的HTML元素:事件与Safari浏览器

<select class="indiv_unit" name="indiv_unit" id="indiv_unit"> 

,我试图捕获选择事件(当用户选择)在JavaScript/Backbone.js的查看,如下所示:

events : { 

    "click select.indiv_unit" : 'changeIndivUnit', 
}, 

Safari和Firefox浏览器能够捕获选择事件,但Chrome不支持。我怀疑Chrome的问题在于,我并不是“真正地”捕捉选择选项,而是在选择框中捕捉点击。我试过这样的事情:

"select select.indiv_unit" 

但这并不奏效,而且看起来不正确。有人能指出正确的方法来检测可在所有浏览器中工作的选择事件吗?

+0

不符合'更改'事件是否符合您的需求? – Loamhoof

+0

@Loamhoof,是的,我只需要知道它改变了。那将是什么样子? “更改select.indiv.unit”? – sploiber

+0

是的,我认为这应该工作。我正在测试它(因为我确定你正在做它)。 – Loamhoof

回答

0

将其更改为:

'change select.indiv_unit': 'changeIndivUnit' 

你可以用http://jsfiddle.net/T8Dsf/测试。

+0

太棒了!非常感谢。任何解释 - 为什么“点击”没有这样做,但“变化” - 会感激地收到。感谢您的快速回复。 – sploiber

+0

@sploiber我必须承认,如果你能重现那种行为,我很乐意去寻找原因。如果我试图在上面的jsfiddle中用'click'来替换'change',它似乎工作得很好:o嗯,至少你的问题是固定的。 – Loamhoof

+0

我不知道为什么它不适用于Chrome。我怀疑我有很多东西需要了解不同的浏览器功能。我主要在Safari上工作,但Chrome和Firefox可以做非常不同的事情。我现在离开IE浏览器。再次感谢! – sploiber