2015-01-31 47 views
0

我有KEYUP功能的問題JQUERY KEYUP功能響應時鼠標不超過輸入字段

我有一個排序的形式,至極有項目的X ammount的,有些他們的組合,如:

項目1 - 組1 項目2 - 組1

項目誰分組,有2個輸入字段,1隱藏和1可見,我要做的是,將隱藏輸入的值更改爲相同的值可見的輸入。

我的問題是,只有當輸入不再集中時,值纔會改變,是否有任何方法可以做到這一點,即當焦點輸入的值發生變化時,它會立即發生變化?

繼承人我真的怎麼做:

$('.item .quantity').on("change paste keyup", function(event) { 
     var crr_item = $(this).parents(".item"), 
      quantity = $(this).val(), 
      items = crr_item.parent().children(".item"), 
      group = false; 
     if(crr_item.hasClass('group1')) 
      group = 'group1'; 

     else if(crr_item.hasClass('group2')) 
      group = 'group2'; 


     if(crr_item.hasClass('group1_hover')) 
      group = 'group1'; 

     else if(crr_item.hasClass('group2_hover')) 
      group = 'group2'; 

     for(var i = items.index(crr_item)-1; i >= 0; i--) { 
      var item = items.eq(i); 
      if(!item.hasClass(group)) break; 
      item.find('.quantity').val(quantity); 
      calc_sum_eu(item); 
     } 
     calc_sum_eu(crr_item); 
     for(var i = items.index(crr_item); i < items.length; i++) { 
      var item = items.eq(i); 
      if(!item.hasClass(group)) break; 
      item.find('.quantity').val(quantity); 
      calc_sum_eu(item); 
     } 

    }); 
+0

''keyup'事件應該在用戶輸入後立即更新。 – Barmar 2015-01-31 21:24:06

+1

您可以使用新的'oninput'事件,該事件應該適用於每種類型的輸入(鍵,粘貼)。 – Mouser 2015-01-31 21:28:54

+0

Barmar,事情是,只有當鼠標懸停在其他地方,比如頁面backgorund時,值纔會改變,但如果我將它懸停回到包含焦點輸入的行,則其他輸入不會改變。 Mouser,你能給我更多關於這個輸入信息嗎? – EdvinasJ 2015-01-31 21:31:36

回答

1

嘗試把一個標誌在它上面還是會檢查它是否側重不

var isFocused = false; 

$('.item .quantity').on("focus", function(event) { 
    isFocused = true; 
}); 

$('.item .quantity').on("blur", function(event) { 
    isFocused = false; 
}); 

然後只需添加isFocused變量在KEYUP事件來驗證。

相關問題