2016-07-18 61 views
0

上單擊按鈕時觸發空間keydown事件我需要觸發一個文本框內部的空間​​事件單擊按鈕時,這樣一個空間,在文本框內實現使用jQuery需要使用jQuery

我我曾嘗試

var idz, valz; 
$(document).ready(function() { 
    $(document).delegate('#getRuleStr', 'click', function() { 
     $('#' + idz).val($('#preTag').text()); 
     var e = jQuery.Event("keydown"); 
     e.which = 32; 
     $('#' + idz).trigger(e); 
    }); 
    $(document).delegate('.rulez', 'click', function() { 
     idz = this.id; 
     valz = $('#' + idz).val(); 
    }); 
}); 

回答

0

如果你想添加在文本框中的空間,那麼你可以通過

$('#' + idz).val($('#' + idz).val()+" "); 

實現這個代碼,但如果你不希望到u採用這種方法,然後用html發佈完整的代碼。

+0

當按鈕點擊完成時,我需要通過按鍵事件來實現空間,因爲在角度2中,所需的錯誤消息不會顯示是否觸發了按鍵事件 –

0

如果您需要以編程方式插入一個字符輸入元素考慮到光標處,你可以做到這一點

$('.rulez').on('click', function() { 
    var caret = document.getElementById(idz).selectionStart; 
    var txtVal = jQuery('#' + idz).val(); 
    var characterToAdd = " "; 
    jQuery('#' + idz).val(txtVal.substring(0, caret) + characterToAdd + txtVal.substring(caret)); 
}); 

注意該行代碼中的

$('#' + idz).val($('#preTag').text()); 

將改寫$值('#'+ idz)元素並設置插入位置以便結束,因此不需要考慮插入位置,因此不需要計算任何內容,因此只需將空格char附加到輸入元素值即可。

+0

我不想在空間後面追加空格-bar點擊事件,因爲我使用angular 2創建了所需的字段驗證,即使在將值從pretag分配給文本框之後,如果我按下一個鍵錯誤,我仍然會得到所需的錯誤,所以只需要生成點擊一個按鈕的空間鍵事件 –

+0

然後嘗試使用jquery插件[link](http://bililite.com/inc/jquery.sendkeys.js)sendkeys。 在這種情況下,您只需要$('#'+ idz).sendkeys(''); –