keypress,keyup或keydown仅适用于JQM中的第一个环

时间:2013-08-14 12:23:43

标签: javascript jquery-mobile keyup onkeyup

我的项目中的

在一个页面上有一个名为“topic”的jQuery Mobile textarea

我使用这个脚本来计算在textarea中输入的字符,但是这个脚本只是在第一次击键时得到了一个结果。另一个没有。

$(document).delegate("#topicDialog", "pageinit", function() {
$("#topic").keyup(function(e) {
        var tam = $(this).length;

        if (tam <= 61700){
            $("#maxCarac").html(tam +" typed characters. The maximum allowed is 61700");
        } else {
            alert("You have reached the maximum text size.\nPlease break your text into more than one topic.");
            $("#topic").val($("#topic").substring(61700));
        }
    });
});

example in action

可能会发生什么?

3 个答案:

答案 0 :(得分:2)

你需要使用val()。length

检查更新小提琴

$("#topic").keyup(function(e) {
        var tam = parseInt($(this).val().length);

        if (tam <= 61700){
            $("#maxCarac").html(tam +" typed characters. The maximum allowed is 61700");
        } else {
            alert("You have reached the maximum text size.\nPlease break your text into more than one topic.");
            $("#topic").val($("#topic").substring(61700));
        }
    });

http://jsfiddle.net/manishkumarshr/zdEzk/1/

答案 1 :(得分:0)

您正在错误地检索用户输入的长度。使用此:

var tam = $(this).val().length;

这是一个有效的demo

答案 2 :(得分:0)

此行需要更改

var tam = $(this).val().length;

请参阅Demo