jquery获取获取this出错、与键盘事件结合使用出现问题

简介:

 之前在做项目时,写了一个监听用户键盘按下 回车【Enter】按键时触发的事件,代码如下:

 $(function() {

        $('input:text:first').focus();

        var $inp = $('input');

        $inp.keypress(function(e) {

            var key = e.which;

            if (key == 13) {

                $("#btnSend").click();

            }

        });

        $("#btnSend").click(function() {

            var pwd =$(this).value;//  ①

        });

    }); 

问题在①这一行时出现bug,因为当用户按下回车时【Enter】,jquery选择器找不到this关键对象,尤其在ie6下,①之后的代码就不能运行了,其他2个核心的浏览器还勉强能继续运行①下面的代码,但是,解决办法有:

1):不适用this关键字,以id选择器,或样式选择器来代替$(this);

2):在①之前对this进行一个判断,如:if($(this)==null){ $(this)=....;},来避免错误发生



本文转自 tongling_zzu 51CTO博客,原文链接:http://blog.51cto.com/tongling/1143885

相关文章
|
7月前
|
JavaScript
jQuery 下拉菜单案例(透明+children+this)
jQuery 下拉菜单案例(透明+children+this)
45 0
|
4月前
|
JavaScript 前端开发 开发者
$(this) 和 this 关键字在 jQuery 中有何不同?
$(this) 和 this 关键字在 jQuery 中有何不同?
35 0
|
2月前
|
JavaScript 前端开发
$(this) 和 this 关键字在 jQuery 的不同
$(this) 和 this 关键字在 jQuery 的不同
9 0
|
JavaScript 前端开发
|
JavaScript
jQuery获取鼠标事件源(万能)
1 //任意位置 2 3 $(document).ready(function(){ 4 5 $(document).click(function(){ 6 $("#id_").
1097 0
|
JavaScript
JQuery this 和 $(this) 详解
this  this 在面向对象语言中,指代调用上下文对象,在js中,也是一模一样的概念,所以不管这个this出现在什么地方,只要追踪到当前调用对象是什么,那么this是什么也就一目了然了。 先看一个简单示例 (function(){ console.log("Normal function being invoked by: "+ this); })(); 输出:
1272 0
|
JavaScript 前端开发
JQuery 获取鼠标位置
                        $(function () {            //e为事件名;            $(document).mousemove(function (e) {                $("p").
657 0
|
6月前
|
JavaScript
Jquery插件知识之Jquery.cookie实现页面传值
Jquery插件知识之Jquery.cookie实现页面传值
36 0