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及时返回,这样就不会触发原有的事件。

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