2016-01-03 67 views
0

我正在网站上工作,没有什么特别的,但我似乎无法获得.on()事件触发。 的HTML看起来像这样:jQuery .on()不会触发,无论事件处理程序如何处理

<fieldset class="movieField hide"> 
    <label for="selectedMovie">Next, select a movie:</label> 
    <select id="selectedMovie" name="movie"> 
     <option disabled selected> -- select a movie -- </option> 
     <option id="selectTamasha" value="AF">Tamasha</option> 
     <option id="selectDino" value="CH">The Good Dinosaur</option> 
     <option id="selectAlexEve" value="RC">Alex &amp; Eve</option> 
     <option id="selectSpectre" value="AC">Spectre</option> 
    </select> 
</fieldset> 

和我的jQuery看起来是这样的:

$('form').on('change', '#selectedMovie', function() { 
    alert('f'); 
}); 

我试图更改为“鼠标悬停”和“点击”,但没有什么区别“变化”。 任何想法,为什么这不工作?

编辑 新的测试显示它可以在Operah和Firefox以及IE中使用,但不适用于Chrome。我知道浏览器的工作方式不同,但这个确切的代码适用于Chrome中的不同元素,为什么不是这个?

编辑 已清除缓存。问题解决了。我不知道为什么铬可以找到我正在做的所有其他更改,但不是这一个。

+2

使用'ready',如果脚本是不是在年底''您 – Tushar

+3

没有一个表单标签。 – JJJ

+0

^那,形式在哪里? – adeneo

回答

0

它看起来像你缺少form标签。

试试这个:

$(document).on('change','#selectedMovie',function(){ 
    alert('F'); 
}); 

jsfiddle

+0

这没有奏效,我也尝试了inline onchange =“runFunction()”,但这也不起作用 PS form标签在那里,它只是包含整个形式是一个更多的代码地狱 – Roclemir

+0

然后使用pastebin或小提琴 – uzma

+0

@Roclemir看看,它适用于我:https://jsfiddle.net/bzcg3j2j/ – user3284463

相关问题