2016-09-19 93 views
0

我遇到一個問題,點擊#target3不會觸發事件處理程序。我認爲問題是事件不會傳播到<select>元素的<option>?令人煩惱的是這段代碼可以工作; IE8及以上,和Firefox,但不適用於Chrome?Chrome中觸發的事件

var target = 1; 
 

 
$("#target"+target).bind("click.clickEvent",function(){TargetClicked(this)}); 
 

 
function TargetClicked(ele) 
 
{ 
 
    if($(ele).prop("id") == ("target" + target)) 
 
    { 
 
     $("body").append("You clicked >> #" + $(ele).prop("id") + "<br>"); 
 
     $(ele).unbind(".clickEvent"); 
 
     target++; 
 
     $("#target"+target).bind("click.clickEvent",function(){TargetClicked(this)}); 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p id="target1">Click here first</p> 
 
<p> 
 
    <select id="target2"> 
 
    <option>----</option> 
 
    <option id="target3">target 3</option> 
 
    </select> 
 
</p>

這是從一個非常大的項目,所以我想嘗試,如果可能的編輯HTML是不可行找到javascript/JQuery修復或解決此問題的。

+0

代替'click'事件,您可以將事件處理程序綁定到'