运行以下简单代码会导致"严格违规".错误信息.我一直在努力寻找有关原因以及如何解决问题的文档.任何输入将非常感激.
错误:
Error:
Problem at line 6 character 4: Strict violation.
} (this));
Run Code Online (Sandbox Code Playgroud)
示例代码:
/*jslint browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, strict: true, newcap: true, immed: true */
"use strict";
(function (window) {
} (this));
Run Code Online (Sandbox Code Playgroud)
此致,埃吉尔.
我得到的基本思想this在不是method在当strict mode概述这里,但它变得有点博学,是诚实的.所以,用更平淡的术语:
我有一个像这样的处理程序:
$('.myClass').one('keyup', function() {
var $this = $(this);
etc etc
});
Run Code Online (Sandbox Code Playgroud)
我想把它改成这个:
function myFunction () {
var $this = $(this);
etc etc
};
$('.myClass1').one('keyup', myFunction);
$('.myClass2').one('keyup', myFunction); etc
Run Code Online (Sandbox Code Playgroud)
它不喜欢它,因为strict mode因为我在this一个方法之外使用.我明白了.
但是,我需要myFunction与处理程序分开,因为(1)它附加到各种类/元素和(2)我用于在各个点.off().one('keyup', myFunction)重置one各种类的处理程序.
那么如何在不违反this业务的情况下绕过单独的回调函数呢?