2016-11-30 151 views
0
<input class="foo" type="text" /> 
<button>click</button> 

$('button').click(function(){ 
    var e = $.Event('keypress'); 
    e.which = 65; // Character 'A' 
    $('.foo').trigger(e); 
}); 

我嘗試觸發鍵盤事件並將文本添加到輸入文本中。Javascript按鈕單擊觸發按鍵並將文本添加到輸入文本

出於某種原因,我不能使用= html or text(),我必須觸發鍵盤事件

人知道如何解決這一問題?

+1

輸入具有'value'(或jQueryland裏的東西都不同,僅僅是爲了爲了不同,'val') - 不是'text'或'html' –

回答

2

TRY這樣的:String.fromCharCode(e.which)。新增與$(element).val()。沒有輸入利用需要使用觸發事件.simply負載數據元素。它夠了。

$('button').click(function(){ 
 
    var e = $.Event('keypress'); 
 
    e.which = 65; // Character 'A' 
 
    $('.foo').val(String.fromCharCode(e.which)); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="foo" type="text" /> 
 
<button>click</button>

另一個答案contentEditable

$('button').click(function(){ 
 
    var e = $.Event('keypress'); 
 
    e.which = 65; // Character 'A' 
 
    $('.foo').text(String.fromCharCode(e.which)); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="foo" contentEditable="true" ></div> 
 
<button>click</button>

+0

怎麼樣contenteditable div裏面的文字? –

+0

這不會觸發按鍵事件: –

+0

也不需要創建事件對象 –

相關問題