2016-03-13 32 views
0

選擇 - 不爲KEYUP和找齊的keydown觸發,但變化事件

$(function(){ 
 
    $(".cls_user_details select").keyup(function(){ 
 
     $(".cls_user_details select").val("Profile"); 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="cls_user_settings cls_user_details"> 
 
\t  \t \t <select onchange="location = this.options[this.selectedIndex].value;"> 
 
\t \t \t   <option Selected>Profile</option> 
 
\t \t \t   <option value="a.php">a</option> 
 
\t \t \t   <option value="b.php">b</option> 
 
\t \t \t   <option value="c.php">c</option> 
 
\t \t \t  </select> 
 
\t  \t </div>

改變diaplay值我不能夠實現這一目標。我只想啓用keyup和keydown事件,但不能更改值。但觸發器更改事件

+0

如果你想改變事件仍然火災和該事件使你從當前頁面導航離去,然後爲什麼你關心選擇顯示,因爲你不會再在該頁面上? –

+0

@ScottMarcus Goos點。我正在使用這個設置菜單。相反'李'我使用選擇。所以我不想向用戶顯示更改。我的意思是上下移動 –

+0

我還是不明白,如果用戶要選擇一個導致頁面被另一個頁面替換的設置,爲什麼你需要擔心可見值的變化?該文件將消失。 –

回答

0

我剛剛玩過jsfiddle,看看Chrome的功能是圍繞select元素以及箭頭鍵的keyup和keydown事件。

至於我可以告訴大家,這裏有能力和KEYUP的極限和選擇元素的keydown事件時,他們有焦點...

  • keydown事件:
    • 選擇元素的菜單不開:
      • 按起來會觸發
      • 向下按壓會觸發
      • 按任意鍵可以將觸發
    • 選擇元素菜單打開:
      • 按起來不會觸發
      • 向下按壓不會觸發
      • 按任意鍵可以將不會觸發
  • keyup event:
    • 選擇元素的菜單沒有打開:
      • 按起來不會觸發
      • 向下按壓不會觸發
      • 按任意鍵可以將不會觸發
    • 選擇元素菜單打開:
      • 按下不會觸發
      • 向下按壓不會觸發
      • 按任意鍵可以將不會觸發
+0

好的。如果菜單打開,這些事件不起作用。有什麼解決辦法嗎?任何usggestions? –

+0

我可以想到一些我可能會嘗試的事情,但他們都嚴重依賴於我希望達到的目標。恐怕我沒有信心,我100%確定你的最終要求是什麼,所以很難說。這也可能取決於您需要花費的時間和精力來解決問題。例如,用JavaScript實現的自定義實現的選擇界面是一種選擇,但這可能花費太多的時間和精力來實踐。 – stratedge