回车监听事件执行多次

 我原本想监听输入框的焦点事件,在焦点放在输入框上的时候才监听回车事件,代码如下:

$("input").focus(function() {
	$("input").keypress(function(e) {
	    // 回车键事件 
		var key = window.event ? e.keyCode : e.which;
		if (key.toString() == "13"&&check=="0") {
		    $(".loading_left").fadeIn(100);
			var searchText = $(".listTitle").children("input").val();
			searchText = $.trim(searchText);
			if (searchText != "") {
				search(searchText);
			} else {
				$(".search").text("");
				$(".loading_left").fadeOut(300);
				if ($(".search p").length != 0) {
					$(".search p").text("输入不能为空");
				} else {
					$(".search").append("<p>输入不能为空</p>");
				}
			}
			$(this).blur();
		}
	});
});

结果发现如上代码不仅每次焦点停在输入框上面的时候会添加一次回车监听事件,且每次回车都会增加一次回车监听事件。

解决方案就是使用return false加一个参数判断是否已存在监听事件。代码如下:

var check="0";
$("input").focus(function() {
    $("input").keypress(function(e) {
    // 回车键事件 
       var key = window.event ? e.keyCode : e.which;
       if (key.toString() == "13"&&check=="0") {
	   check="1";
       $(".loading_left").fadeIn(100);
	   var searchText = $(".listTitle").children("input").val();
       searchText = $.trim(searchText);
	   if (searchText != "") {
	       search(searchText);
       } else {
	       $(".search").text("");
		   $(".loading_left").fadeOut(300);
		   if ($(".search p").length != 0) {
		       $(".search p").text("输入不能为空");
		   } else {
			   $(".search").append("<p>输入不能为空</p>");
		   }
	   }
	   $(this).blur();
	   return false;
   }				
});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是业余自学C/C++的

Mac常用快捷键

1606
来自专栏黑白安全

使用Metasploit&Shellter 捆绑免杀

Shellter是一个动态的shellcode注入工具。它可用于将shellcode捆绑注入本机Windows应用

581
来自专栏向治洪

android 热修补之andfix实践

首先有这方面需要的请到https://github.com/xiangzhihong/andfixDemo/tree/master下载例子 对于网上提供的热补丁...

1645
来自专栏tiane12

Android开发错误 The method onClick(View) of type new View.OnClickListener(){} must override a superclas解

2196
来自专栏张戈的专栏

JS+CSS让网站嗨起来,博客要被玩坏了!

最开始在陌小雨那就看到了这个功能,觉得挺好玩,但是也没想继续深入。昨天在无主题博客看到他分享了这个功能的代码之后,觉得可以试试。 用了之后,发现他改进之后的代码...

3159
来自专栏james大数据架构

Android中TextView

TextView:展示文本内容控件 要点: 1.android:textSize="20sp",设置字体的大小使用sp作单位 2.设置宽度高度等属性使用dp(d...

1815
来自专栏ytkah

Bootstrap幻灯轮播如何支持触屏左右滑动手势?

  最近ytkah在学习用bootstrap搭建网站,Bootstrap能自适应pc端和手机端,并且移动设备优先,适合现如今移动营销。bootstrap是封装好...

3035
来自专栏流媒体人生

wince版ffmpeg音视频播放器

6.支持S3C6410 H264、H263、VC-1/WMV3、Mpeg4 480P 30fps播放

402
来自专栏计算机编程

Android 7.0+ notification更新progress

602
来自专栏转载gongluck的CSDN博客

FFmpeg菜鸡互啄#第2篇#配置VS开发环境

下载FFmpeg 首先是下载FFmpeg的win32库,我用的版本是2.5.2(和其他2.x.x版本应该不会有太大差别)。FFmpeg的官网上好像已经找不到旧版...

3576

扫描关注云+社区