1. 程式人生 > >jQuery模擬按下回車鍵和f11鍵

jQuery模擬按下回車鍵和f11鍵

     眾所周知easyui 的Pagination中要想跳轉到某一頁,只需要輸入頁碼按ENTER就能達到效果。前段時間的專案 客戶提出要求說想要輸入頁碼 按一個GO的按鈕做跳轉。好吧,客戶是上帝,他們怎麼說我們這些程式猿只能儘自己所能來達到效果。如圖:

                                

即:按下GO做  輸入3按回車一樣的事情

而這個問題可以簡化為 點選一個a標籤 模擬Pagination頁碼輸入框按下回車 但是這個事件是寫在jquery.easyui.min.js中,我們沒有辦法直接呼叫;通過chrome查詢到頁碼輸入框是

<input class="pagination-num" type="text" value="1" size="2">

而後查看了JQUERY API 的 Event Object發現 jquery有個trigger方法能夠觸發模擬的按鍵事件。直接上程式碼

<script language="javascript" type="text/javascript">
    $(document).ready(function () {
    $("#test").datagrid({
            url: "/Test/Test1Data",
            type: "post",
            datatype: "json",
            width: 465,
            height: 280,
            loadMsg: "資料載入中,請稍後...",
            fitCloumns: true,
            nowrap: true,
            rownumbers: false,
            pagination: true,
            singleSelect: true,
            showFooter: true,
            columns: [[
                    { field: 'testName', title: '測試名', width:230, editor: 'text'},
                    {field:'testValue',title:'測試值',width:230,align: 'center' }
                    ]]
        });
        $("#test").datagrid('getPager').pagination({
            showPageList: false,
            showRefresh: false,
            beforePageText: "第",
            afterPageText: "頁 <a href='javascript:void(0)' onclick='GoEnterPage()'><img src='http://www.cnblogs.com/Content/themes/icons/Go_.gif'></a>,共{pages}頁",
            displayMsg: '當前{from}到{to}條,總共{total}條'
        });
    }); //上面程式碼引數可以參看easyui的文件
    function GoEnterPage() {
        var e = jQuery.Event("keydown");//模擬一個鍵盤事件
        e.keyCode = 13;//keyCode=13是回車
        $("input.pagination-num").trigger(e);//模擬頁碼框按下回車
} </script>

2.模擬按下f11

//瀏覽器進入全屏模式,相容IE
function fullScreen() {
	var el = document.documentElement;
	var rfs = el.requestFullScreen || el.webkitRequestFullScreen ||
		el.mozRequestFullScreen || el.msRequestFullScreen;
	if (typeof rfs != "undefined" && rfs) {
		rfs.call(el);
	} else if (typeof window.ActiveXObject != "undefined") {
		//for IE,這裡其實就是模擬了按下鍵盤的F11,使瀏覽器全屏
		var wscript = new ActiveXObject("WScript.Shell");
		if (wscript != null) {
			wscript.SendKeys("{F11}");
		}
	}
}
//瀏覽器進入全屏模式,相容IE