有没有办法检测何时触发overflow-y:auto,并创建一个弹出窗口?

时间:2015-03-29 06:36:44

标签: javascript jquery html css

我有一个网站,允许用户继续在框中添加文字。我希望他们能够继续向它添加文本直到它到达创建滚动条的位置。而不是创建滚动条,我希望网站基本上阻止他们向其添加任何文本,弹出窗口基本上说“为了添加更多文本,你需要成为会员。”

这可能吗?有没有人有关于如何做到这一点的提示?

现在,我只有一个简单的textarea,又名:

<textarea rows="4" cols="50" style="overflow-y:auto;">
At w3schools.com you will learn how to make a website. We offer free tutorials in all web development technologies.
</textarea>

1 个答案:

答案 0 :(得分:3)

尝试以下几点:

$(function(){

    $("textarea").keypress(function(e){

        if(this.scrollHeight > $(this).outerHeight())
        {
            alert("You must be a member");
            e.preventDefault();
        }
    });

});

JSFiddle


需要注意的3件事。

  1. 当滚动条出现时,文本框的操作宽度会减小。这会将文本向下推到下一行,而最初没有。

  2. 任何人都可以更改文本框的宽度/高度,使它们比原先想要的更大,以便有更多的空间来写东西。

  3. 任何人都可以禁用JavaScript并输入超过限制框的内容。