1

我想将一个参数传递给一个名为ForPaste().

我的功能如下:

 var regex = /^[A-Za-z0-9ĀĒĪŌŪāēīōū\.\-\~\`\'' ]*$/;
    var SalaryRegex = /^[A-Za-z0-9\,\.\/\$ ]*$/;
        $.fn.ForPaste = function () {
            return this.each(function () {
                $(this).bind('input propertychange', function () {
                    var value = $(this).val();
                    if (!regex.test(value)) {
                        $(this).val("");
                    }
                });
            });
        };

这个函数在一个普通的 JS 文件中。它在单个页面上调用。我想根据传递的参数测试正则表达式。那么我能知道ForPaste()使用参数调用函数的方法吗?例如,我在函数中$("#Text1").Forpaste('FromForm1');得到了这个。FromForm1ForPaste()

4

2 回答 2

1

你为你的函数定义一个形式参数

      // formal parameter--v
$.fn.ForPaste = function (the_value) {

    alert( the_value ); // displays the argument passed

    // rest of your code
};

传递给的任何值都ForPaste()将被the_value. (当然,您可以将名称更改为任何有效的标识符。)

于 2012-10-09T14:26:30.703 回答
0

不确定您要做什么,因为答案似乎很明显。这会吗?

$.fn.ForPaste = function (theName) {
    if (theName.test(//)){
        return this.each(function () {
            ....
        });
    }
    return false
};

您可以通过查看arguments哪个不是数组但似乎是一个来访问参数。从函数中,您可以执行var theName=arguments[0]获取第一个参数的值

于 2012-10-09T14:27:10.060 回答