正确的传递方式'this'在javascript中运行
Correct way to pass 'this' to function in javascript
我的javascript是相当基本的,所以我想我会问专家是否我目前的方法是正确的,如果有更好的,更接受的方法。
通常我会使用jquery的。on事件来触发一个函数,像这样:
$("body").on("input", "textarea", textareaAutoGrow);
function textareaAutoGrow() {
var pad = $(this).outerHeight(false) - $(this).innerHeight();
this.style.height = "auto";
this.style.height = (this.scrollHeight + pad) + "px";
}
这样,' This '是自动传递的,但是我现在需要对所有文本区域的窗口大小调整事件做同样的事情,而不仅仅是一个特定的。
我是这样做的:
$(window).on("resize", refreshAutoGrow);
function refreshAutoGrow() {
$el = $(".text-field.autogrow").filter(function () {
return $(this).val();
});
$el.each(function () {
textareaAutoGrow.call(this);
});
}
我已经使用。call调用了textareaAutoGrow函数——这是我从jquery小部件中学习到的。
它工作,但正如我说的,这是一个很大的猜测-这是正确的方法,或者有更接受的方式做我想要的?
将each
设置为resize时触发,以循环文本区域:
function textareaAutoGrow() {
var pad = $(this).outerHeight(false) - $(this).innerHeight();
this.style.height = "auto";
this.style.height = (this.scrollHeight + pad) + "px";
}
$("body").on("input", "textarea", textareaAutoGrow);
$(window).on("resize", funtion() {
$("textarea").each(textareaAutoGrow);
});
相关文章:
- Javascript运行php文件,然后下载文件
- JavaScript运行时是如何工作的
- Javascript运行Total保持添加
- JavaScript运行时事件循环现有技术
- 当出现javascript运行时错误时会发生什么
- 使用JavaScript运行脚本
- 在gwt HTMLPanel中使用JavaScript运行Google图表
- 在从HTML表单提交时从javascript运行php
- JavaScript运行时错误:完成此操作所需的数据尚不可用
- RoR最快的javascript运行时
- Windows 8应用程序正在运行,现在得到0x800a1391-JavaScript运行时错误:'WinJS&
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- JavaScript运行后,页面在右侧被切断
- JavaScript 运行时错误仅在本地计算机上
- JavaScript 引擎和 JavaScript 运行时环境有什么区别
- 如何从javascript运行java代码
- Javascript 运行时错误:“应用程序未定义”
- 从Javascript运行PHP文件来检查在线用户:表示未登录的用户是
- JavaScript运行时错误,未定义jQuery
- MVC4和日期选择器:“;0x800a01b6-JavaScript运行时错误:对象没有't支持属性或方法