简单地记下jquery实现回车事件,代码如下:
全局:
$(function(){
document.onkeydown = function(e){
var ev = document.all ? window.event : e;
if(ev.keyCode==13) {
$('#FormId).submit();//处理事件
}
}
});
某个控件:
$('#id').keydown(function(e){
if(e.keyCode==13){
$('#FormId).submit(); //处理事件
}
});
if (window.event.keyCode==13) window.event.keyCode=0 //这样就取消回车键了
如果想模拟Tab键,只要写成 if (window.event.keyCode==13) window.event.keyCode=9 就行了,它会跳到另一个元素上。
众所周知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='/upload/201109/20110920220555970.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>
easyui官网:http://www.jeasyui.com/index.php
jquery:http://jquery.com/
这里有个jquery的中文手册,说明很全:
http://jquery.org.cn/manual/