js屏蔽默认快捷键,调用自定义事件

具体如何屏蔽更多的快捷键可以自行google搜索。


这里要说的是如何屏蔽后去执行自定义的事件。


这里为了方便使用的Kibo做例子,使用google搜索出来的结果一般都是javascript原生实现,很简单的,这里不做介绍。


这里是实现了在一个textarea中enter进行保存的例子,屏蔽掉了原来的回车事件。

代码如下:

//键盘监听
	var areaKey = new Kibo($("#aac010")[0]);
	areaKey.down('enter',doSave);
	function doSave() {
		event.keyCode = 0;
		event.returnValue = false;
		setTimeout(save, 300);
		return false;
	}

屏蔽js原有事件一般是keyCode=0,returnValue=false,return false;来实现的,关键是如何调用自定义的方法,如上面的 save方法,如果直接把save方法写到这里,由于执行save需要一定时间,短时间的没有返回false,会导致enter原有事件的触发,不能起到屏蔽的作用,所以这里使用setTimeout来调用自定义的方法。让returun及时返回,这样就不会触发原有的事件。


具体原因并不清楚,如果有人有更好的方法,或者知道原因可以留言,谢谢~~~

你可能感兴趣的:(js屏蔽默认快捷键,调用自定义事件)