jquery - 为单独的 jquery 函数设置 $(this) 的全局变量

标签 jquery variables

我正在使用 jquery 作为输入占位符的跨浏览器解决方案,但我不明白如何为 $(this) 设置全局变量,以便我可以在第二个中使用它这两个部分功能的一部分。我首先获取输入的值并将其存储为 $value 但我需要在第二个函数中再次使用它来替换空值。我该怎么做呢?我应该提到的是,这需要适用于一种形式的多个文本输入。

       $(document).ready( function() {
        $('input[type=text]')
         .on('focus', function(){
            var $this = $(this);
            var $value = $(this).val();
            globalVar = $value;
            if($this.val() == $value){
             $this.val('');
            }
         })
         .on('blur', function(){
            var $this = $(this);
            if($this.val() == ''){
             $this.val($value);
            }
         });
       });    

最佳答案

您可以使用这两个函数范围之外的变量..但最好使用数据作为存储位置:

$(document).ready( function() {
        $('input[type=text]')
         .on('focus', function(){
            var $this = $(this);
            if ($this.val()) {
              $this.data('myval', $this.val());
            }
            $this.val('');
         })
         .on('blur', function(){
            var $this = $(this);
            if($this.val() == ''){
             $this.val($this.data('myval'));
            }
         });
});     

编辑:

添加了这个:

   if ($this.val()) {
     $this.data('myval', $this.val());
   }

关于jquery - 为单独的 jquery 函数设置 $(this) 的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12363270/

相关文章:

c++ - 我可以在任何函数中访问在 main 中声明的变量吗?

java - 错误 : cannot assign a value to final variable

jquery数据表添加带有ajax服务器端响应的复选框

javascript - 计算字段数量并限制为 10

javascript - 将带有获取数据的 PHP 变量传递给 JavaScript 变量返回 NULL 或空

excel - 一个变量如何引用vba中的同一个变量?

java - 这是对 'this' 关键字的不明智使用吗?

Javascript随机生成变量名

javascript - 输入框上叠加图标

jquery - 从 json 动态加载数据时,克隆表标题列宽和原始 tbody 列宽未对齐