我做一個小例子http://jsfiddle.net/PSYCKIC/SQZVH/1/jQuery的事件觸發模擬鍵盤
不能不把它的工作,但這個想法是模擬鍵盤事件的按鍵,或KEYDOWN KEYUP,對於每一個瀏覽器的工作原理(火狐,Safari,Chrome,IE)。
不知道爲什麼代碼不工作,任何ideia我該怎麼做?
我做一個小例子http://jsfiddle.net/PSYCKIC/SQZVH/1/jQuery的事件觸發模擬鍵盤
不能不把它的工作,但這個想法是模擬鍵盤事件的按鍵,或KEYDOWN KEYUP,對於每一個瀏覽器的工作原理(火狐,Safari,Chrome,IE)。
不知道爲什麼代碼不工作,任何ideia我該怎麼做?
這是當前解決工作Chrome和Firefox,還是需要的,如果工作歌劇和IE
// put cursor and input text in correct position
function setCaretPosition(elem, caretPos) {
if (elem != null) {
if (elem.createTextRange) {
var range = elem.createTextRange();
range.move('character', caretPos);
range.select();
}
else {
if (elem.selectionStart) {
elem.setSelectionRange(caretPos, caretPos);
elem.focus();
// Workaround for FireFox overflow no scroll problem
if ($.browser.mozilla) {
// Trigger a "space" keypress.
var evt = document.createEvent("KeyboardEvent");
evt.initKeyEvent("keypress", true, true, null, false, false, false, false, 0, 32);
elem.dispatchEvent(evt);
}
// for webkit
if ($.browser.webkit || $.browser.msie) {
var te = document.createEvent('TextEvent');
// Trigger a "space" keypress.
te.initTextEvent('textInput', true, true, window, ' ');
elem.dispatchEvent(te);
}
}
else
elem.focus();
}
}
}
即使是正確的答案,不確定Opera或Ie工作。 – 2011-08-03 02:16:56