一、js工具类
/******************************************************************************* * 表单光标定位 * * @param formId * @param focusInputName */ function formFocus_Bruce(formId, focusInputName) { window.setTimeout(function() { $("#" + formId + " input[name='" + focusInputName + "']").focus(); }, 0); } function formFocusTextArea_Bruce(formId, focusInputNameId) { window.setTimeout(function() { $("#" + formId + " #" + focusInputName).focus(); }, 0); } function formFocusTextArea(formId, focusInputName) { window.setTimeout(function() { $("#" + formId + " textarea[name=" + focusInputName + "]").focus(); }, 0); } /******************************************************************************* * 绑定指定表单元素类型的回车事件 * * @param formId * 表单 * @param element * 元素类型 (input/select/radio/...) * @param subFunction * 回车后要执行的js函数 * @param eventName * 键盘事件 (keyup/keydown/keypress...) */ function bindEnter_Bruce(formId, element, subFunction, eventName) { $("#" + formId + " " + element).bind(eventName, function(event) { if (event.keyCode == '13') { subFunction(); } }); } /******************************************************************************* * 表单回车事件绑定 表单光标定位 * * @param formId * @param focusInputName * @param subFunction * 回车要执行的函数 */ function bindFormComm(formId, focusInputName, subFunction) { bindEnter_Bruce(formId, 'input', subFunction, 'keyup'); bindEnter_Bruce(formId, 'select', subFunction, 'keyup'); formFocus_Bruce(formId, focusInputName); }
二、测试用例
/** * 测试用例: * * 绑定页面回车事件,以及初始化页面时的光标定位 * * @formId * 表单ID * @elementName * 光标定位在指点表单元素的name属性的值 * @submitFun * 表单提交需执行的任务 * */ $(function(){ bindFormComm("formId","elementName", submitFun); })
三、实际使用
/**绑定页面回车事件,以及初始化页面时的光标定位**/ $(function(){ <span style="white-space:pre"> </span>bindFormComm("searchForm","data.plateNumber", doSearch4Bus); });
原文地址:http://blog.csdn.net/boybruce/article/details/46635899