A. 怎樣用js模擬鍵盤事件
1. IE下沒什麼問題,創建事件對象、對對象的keyCode屬性賦值,然後再拋出來就行了:
2. Firefox 需要通過document.createEvent創建KeyEvents對象,再通過initKeyEvent方法對事件對象初始化
initKeyEvent 參考:https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyEvent
3. Chrome/Safari/Opera
通過document.createEvent創建UIEvents對象,初始化後再在該對象上掛載按鍵值。
initUIEvent 參考:https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/initUIEvent
Chrome和Opera可以先將keyCode屬性delete掉後,再用Object.defineProperty方法重新為它賦值:
有些安卓瀏覽器,此法無效,需要用下面的方式:
最後,封裝好的function大概就是這樣:
使用方法: 假設模擬回車
B. js如何才能模擬鍵盤按鍵
各位前輩,我想模擬鍵盤事件,寫一個button,點擊該button就相當於按了鍵盤的enter事件,該怎麼處理?謝謝
C. javascript獲取軟鍵盤彈起&收回事件
當軟鍵盤彈起觸發resize時,屏幕的寬度不變,高度縮小;
而當旋轉屏幕觸發resize時,屏幕的寬和高是互換的,但數值不變。
根據這個特徵就能區分resize是被何種事件觸發的了。
D. javascript怎樣調用屏幕軟鍵盤
<html>
<body>
<inputtype="text"id="tt"/>
<scriptlanguage="javascript"type="text/javascript">
document.getElementById('tt').onfocus=function(){
varshell=newActiveXObject("wscript.shell");
shell.run("osk.exe");
}
</script>
</body>
</html>
我知道:
這個只能在IE瀏覽器實現,而且需要設定IE的安全級別,允許瀏覽器載入ActiveXObject控制項,如圖回。
如果不用系統自答帶的軟鍵盤,可以用js實現。網上找到一個js寫的。你可以看看
E. 怎樣用js模擬鍵盤事件
主動觸發事件是一個經常會用到的技巧,它很重要。它和事件綁定一樣存在著瀏覽器兼容性問題。傳統瀏覽器(IE8-)使用createEventObject來創建事件對象,用fireEvent這個方法來觸發事件;現代瀏覽器用createEvent來創建對象,用dspatchEvent來觸發事件。
//獲取瀏覽器版本
var isIE=navigator.userAgent.match(/MSIE (;d)/i);
isIE=isIE?isIE[1]:undefined;
//事件函數
function onclick(e){
e=eevent;
alert(e.msg表醬紫啦,人家羞澀啦~);
};
//給document綁定一個點擊事件
isIElt;9
//傳統瀏覽器使用attachEvent
?document.attachEvent(onclick,onclick)
//現代瀏覽器使用addEventListner
:document.addEventListener(click,onclick,false);
//觸發自定義事件
if(isIElt;9){
//傳統瀏覽器
//創建對象
var event=document.createEventObject();
//給事件對象添加屬性
event.msg=我是fireEvent觸發的;
//觸發事件
document.fireEvent(onclick,event);
}else{
//現代瀏覽器
//創建事件對象
var e=document.createEvent(MouseEvents);
//初始化事件對象
e.initMouseEvent(click),
//給事件對象添加屬性
e.msg=我是despatchEvent觸發的;
//觸發事件
document.dispatchEvent(e);
};
F. js怎麼控制虛擬鍵盤彈出和收起
js 移動端關於頁面布局,如果底部有position:fixed的盒子,又有input,當軟鍵盤彈出收起都會影響頁面布局。這時候可以監聽resize事件,代碼如下,而ios沒有相關事件。
var winHeight = $(window).height(); //獲取當前頁面高度$(window).resize(function(){ var thisHeight=$(this).height(); if(winHeight - thisHeight >50){ //當軟鍵盤彈出,在這裡面操作 }else{ //當軟鍵盤收起,在此處操作 }
});
/**
* 解決ios鍵盤彈出遮擋input
*/
function iosInput() {
if(isIos()){
$('.chart-footer').css('position','absolute');
//解決第三方軟鍵盤喚起時底部input輸入框被遮擋問題
var bfscrolltop = document.body.scrollTop;//獲取軟鍵盤喚起前瀏覽器滾動部分的高度
$(".chart-input").focus(function(){//在這里『input.inputframe』是我的底部輸入欄的輸入框,當它獲取焦點時觸發事件
interval = setInterval(function(){//設置一個計時器,時間設置與軟鍵盤彈出所需時間相近
document.body.scrollTop = document.body.scrollHeight;//獲取焦點後將瀏覽器內所有內容高度賦給瀏覽器滾動部分高度
},100)
}).blur(function(){//設定輸入框失去焦點時的事件
clearInterval(interval);//清除計時器
document.body.scrollTop = bfscrolltop;
//將軟鍵盤喚起前的瀏覽器滾動部分高度重新賦給改變後的高度
});
}
}
iosInput();
G. 怎樣用js模擬鍵盤事件
沒有確切的方法,只能模擬綁定KeyPress事件,而且事件觸發能通過按鍵的值。KeyPress事件主要用來捕獲數字(注意:包括Shift+數字的符號)、字母(注意:包括大小寫)、小鍵盤等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜單鍵}、{開始鍵}和方向鍵外的ANSI字元。相關事件是keydown事件和keyup事件。相關的按鍵數字你可以網上找一下,如:enter =13 ,shift =16 。這樣就可以知道是哪個按鈕按下了。
H. 我在用JS寫一個虛擬軟鍵盤,請問那個空格鍵的功能怎麼實現
輸出 & n b s p;(去掉空格..)