我正在尝试理解jQuery类,但它并不是很顺利.
我的目标是以这种方式使用类(或者学习更好的方法):
var player = new Player($("playerElement"));
player.InitEvents();
Run Code Online (Sandbox Code Playgroud)
使用其他人的例子,这就是我尝试过的:
$.Player = function ($) {
};
$.Player.prototype.InitEvents = function () {
$(this).keypress(function (e) {
var key = e.which;
if (key == 100) {
MoveRight();
}
if (key == 97) {
MoveLeft();
}
});
};
$.Player.prototype.MoveRight = function () {
$(this).css("right", this.playerX += 10);
}
$.Player.prototype.MoveLeft = function () {
$(this).css("right", this.playerX -= 10);
}
$.Player.defaultOptions = {
playerX: 0,
playerY: 0
};
Run Code Online (Sandbox Code Playgroud)
最终目标是使用键盘字母A和左右两个角色在屏幕上移动D.
我觉得我对这个"课"做了一些非常错的事,但我不确定为什么.
(对不起我的英语不好)
在我的主页上,我得到了:
<ul id="login">
<li> <a id="loginswitch" href="./login-page">log-in</a> | </li>
<li> <a id="signupswitch" href="./signup-page">sign-up</a> </li>
</ul>
Run Code Online (Sandbox Code Playgroud)
通过MooTools,我通过id得到这些锚元素,这样一旦它们被点击,就会在它们下方弹出一个华丽的div,其中包含登录或注册表单(当然还有停止事件传播的方法)和填写AJAX调用启动的字段 - 应该创建会话并重新加载页面,以便用户可以看到他现在已登录并出现用户级控件等.
ajax调用由MooTools AJAX类启动,evalScripts选项设置为true.AJAX页面返回脚本代码:
<script type="text/javascript">window.location = self.location;</script>
Run Code Online (Sandbox Code Playgroud)
这个系统工作得很好 - 现在我想知道为什么如果我将锚点的href值更改为href="#"我的脚本将不再起作用?
它与窗户有什么关系吗?
当我点击一个链接时它是否改变了它的属性,即使事件的传播被停止了?
因此,截至2016年中,几乎所有Angular2 TypeScript教程和示例都"target": "es5"在文件的compilerOptions部分中使用tsconfig.json.
我也看到有人说这种设置"target": "es6"会使他们的错误/问题消失.
{
"compilerOptions": {
"target": "es6",
...
}
}
Run Code Online (Sandbox Code Playgroud)
但具体到底是什么呢?这是告诉TypeScript编译器生成什么版本的ECMAScript?