i_ktse
2u+
采纳率100%
2015-02-06 10:21 浏览 4.5k

jQuery on绑定事件无法获取this的值

<div class="login_half">
                    <input name="username" value="请输入用户名" title="请输入用户名" class="field tooltip" />
                </div> 

        jQuery(document).ready(function () {
            jQuery(".login_half > input").on("blur", function () {
                var str = jQuery(this).prop("title");
                alert(str);
                if (jQuery(this).val() == "") {
                    jQuery(this).val(str);
                }
            });

            jQuery(".login_half > input").on("click", function () {
                var str1 = jQuery(this).prop("title");
                alert(str1);
                if (jQuery(this).val() == str1) {
                    jQuery(this).val("");
                }
            });


        });

代码如上,事件绑定没问题,可以触发。

问题是:blur方法里获取title的值可以获取到。而click里获取不到.
用的jQuery是1.11.2的,求大神指教

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • 已采纳
    i_ktse 2u+ 2015-02-11 12:15

    找到原因了,原来是jQuery1.11.2版本和easyTooltip.js这个库冲突,绑定click会出现获取prop("title")值丢失。

    点赞 评论 复制链接分享
  • danielinbiti danielinbiti 2015-02-06 15:05

    下面是试的代码,没问题,能获取到。但你变量写错了,jQuery(this).val() == str应该是jQuery(this).val() == str1

     <!DOCTYPE html>
    <html>
    <head>
    <script src="https://code.jquery.com/jquery-1.11.2.js">
    </script>
    <script>
    jQuery(document).ready(function () {
                jQuery(".login_half > input").on("click", function () {
                    var str1 = jQuery(this).prop("title");
                    if (jQuery(this).val() == str1) {
                        jQuery(this).val("");
                    }
                });
    
    
            });
    </script>
    </head>
    <body>
    <div class="login_half">
                        <input name="username" value="请输入用户名" title="请输入用户名" class="field tooltip" />
                    </div> 
    </body>
    </html>
    
    
    点赞 评论 复制链接分享

相关推荐