返回函数代码而不是结果

时间:2011-10-02 14:26:30

标签: jquery

我在clean.js文件中保存了一个在jQuery中创建的函数..

jQuery.fn.singleDotHyphen = function(){
return this.each(function(){
    var $this = $(this);
    $this.val(function(){
        return $this.val()
            .replace(/\.{2,}/g, '.')
            .replace(/-{2,}/g, '-');    
    });
});
};

我的操作文件是..

<script type="text/javascript">  

$(document).ready(function() {
$.noConflict();
   $('#title').limitkeypress ({ rexp:/^[A-Za-z.\-\s`]*$/ }); 
       $('#title').blur(function() {
           $(this).singleDotHyphen();  
        });
 }); 
 </script>

问题是onblur它返回函数的代码,因为我想返回拒绝连续连字符和点的字符串......

1 个答案:

答案 0 :(得分:2)

接受函数参数的.val()方法的版本仅存在于jQuery 1.4及更高版本中。但是,在这种情况下,您不需要该版本,因为您只需将新值传递给val()

$this.val($this.val().replace(/\.{2,}/g, '.')
                     .replace(/-{2,}/g, '-'));