有没有一种方法可以检测何时触发了溢出-y:auto,并因此创建一个弹出窗口
Is there a way to detect when an overflow-y:auto has been triggered, and create a popup as a result?
我有一个网站,允许用户不断向框中添加文本。我希望他们能够不断向其添加文本,直到达到创建滚动条的程度。我不希望创建滚动条,而是希望网站基本上阻止他们向其中添加任何文本,弹出一个弹出窗口,上面写着"为了添加更多文本,你需要成为的成员。"
这可能吗?有人知道如何最好地做到这一点吗?
现在,我只有一个简单的文本区域,也就是:
<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>
尝试以下方法:
$(function(){
$("textarea").keypress(function(e){
if(this.scrollHeight > $(this).outerHeight())
{
alert("You must be a member");
e.preventDefault();
}
});
});
JSFiddle
需要注意的3件事
当滚动条出现时,文本框的操作宽度会减小。这将把文本向下推到下一行,而原来没有。
任何人都可以更改你的文本框的宽度/高度,使其比你最初想要的更大,以留出更多的空间来写东西。
任何人都可以禁用JavaScript,并将超出您限制的内容放入。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 为effect Composer创建GodRays效果过程
- 从javascript创建一个列表
- onkeyup无法动态创建多个文本区域
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何访问声音管理器2创建的声音对象
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- 使用Facebook live API创建实时视频对象时的隐私设置
- 在动态创建的元素上获取对特定选择器的引用
- 如何创建带有插槽的vue js组件预加载程序
- 如何在创建键时引用来自同一对象的键
- 如何创建JSON数组
- 从html创建一个指令,该指令按类名应用函数
- 使用Javascript创建测验页面
- 更改使用Chart.js创建的图表中的轴线颜色
- JavaScript名称空间和对象创建
- JQuery对动态创建的对象进行选择
- 有没有一种方法可以检测何时触发了溢出-y:auto,并因此创建一个弹出窗口
- 为什么getComputedStyle返回'auto'用于元素创建后的像素值