如何使jquery使用命名函数

时间:2016-03-08 18:59:16

标签: javascript jquery

我一直试图这样做几个小时,而且它一直没有工作。我找不到原因。

我的HTML:

<label>
Description<br>
(<span id='fieldLength'>0</span> Chars. ±1):

<textarea name='dataDescr' id='metaDescr'>Some Text Here.</textarea>
</label>

我拥有不起作用。它没有给我任何回应,没有萤火虫的控制台错误或任何反馈:

JQuery:

counterChecker = function() {
    var max = 800;
    var lengthVal = $('#metaDescr').val().length;
    var fl = $('#fieldLength');
    if (lengthVal >= max) {
        var char = lengthVal - max;
        fl.text('Over by ' + char);
    }
    else {
        fl.text(lengthVal);
    }
}

$(document).ready(function() {
    $('#metaDescr').on("change", counterChecker() );
 });
  

编辑:如果功能在。中设置,这也不起作用   文件就绪括号。

DOES 的工作方式与直接作为匿名函数直接插入on change函数的代码相同:

 $(document).ready(function() {

    $('#metaDescr').on("change", function() {
        var max = 800;
        var lengthTwo = $(this).val().length;
        var lf = $('#fieldLength');
        if (lengthTwo >= max) {
            var char = lengthTwo - max;
            lf.text('Over by ' + char);
        }
        else {
            lf.text(lengthTwo);
        }
    });
});

有人能帮我理解为什么会有这种差异吗?

为什么它不作为一个单独的被调用函数工作,但不会给我的firebug带来任何错误,但它可以作为直接引用(匿名?)函数。如何使其按预期运行,但将代码保存在单独的自包含功能单元中。

我正在使用JQuery 1.11.3并且在过去几个小时内查看many stackoverflow posts并没有显示出亮点: - /

1 个答案:

答案 0 :(得分:2)

#include "opencv2/core/core.hpp" #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" int main(int argc, char** argv) { cv::Mat frame = cv::imread("0FD0X.png", CV_LOAD_IMAGE_ANYDEPTH); frame.convertTo(frame, CV_16U);// to be sure... i omitted this part also and same error double min, max; cv::Point mloc, mxloc; cv::minMaxLoc(frame, &min, &max, &mloc, &mxloc); //i can access min and max values but not the specific pixel value ushort pValShort = frame.at<ushort>(38, 118);// no error Vec3b pValVec = frame.at<Vec3b>(38, 118);// no error Vec3b pValVecPoint = frame.at<Vec3b>(Point(118,38));// no error std::cout << pValShort << std::endl; // out 2423 std::cout << pValVec << std::endl; // out [166,8,165] std::cout << pValVecPoint << std::endl; // out [166,8,165] std::cout << min << std::endl; // out 0 std::cout << max << std::endl; // out 2423 std::cout << mloc << std::endl; // out [0,0] std::cout << mxloc << std::endl; // out [118,38] return 0; } 调用$('#metaDescr').on("change", counterChecker() );函数并将返回的值分配给onchange处理程序。在这种情况下,它返回undefined并将其用作更改侦听器。你想要的是counterChecker,它将引用传递给更改事件触发时将被调用的$('#metaDescr').on("change", counterChecker);函数。