繁体   English   中英

Haxe JavaScript HTML表单

[英]Haxe JavaScript HTML form

在“ Try Haxe”( http://try.haxe.org )站点中,默认的示例测试代码如下:

class Test {
  static function main(){
    #if js
    new js.JQuery("body").html("Haxe is great :)");
    #elseif flash
    trace("Haxe is great :)");
    #end
  }
}

在该页面上运行它非常简单(可以选择“选项”并以“ JS”或“ SWF”为目标),并且“ SWF”的输出如下:

Test.hx:6:Haxe很棒:)

而“ JS”的输出如下:

Haxe很棒:)

令我感到困惑的部分是javascript部分,因为当我自己在笔记本电脑上编译源代码时,生成的test.js文件非常复杂,看起来与该页面上显示的“ JS源代码”完全不同:

(function () { "use strict";
var Test = function() { };
Test.main = function() {
    new js.JQuery("body").html("Haxe is great :)");
};
var js = {};
var q = window.jQuery;
js.JQuery = q;
Test.main();
})();

我应该将Haxe编译的test.js的内容更改为上述内容吗? 另外,我不知道实际的index.html页面应该如何显示以显示JavaScript输出“ Haxe great :)”的结果。 有关JavaScript示例输出的index.html页的实际代码的提示,将不胜感激。

目前尚不清楚问题是什么。

如果是关于

“我应该将haxe编译的“ test.js”的内容更改为上面的内容吗?”

,您不应更改已编译的解决方案。

为什么? 因为每次您再次编译它时,它都会被覆盖,所以根据您的更改,您将使源文件过时。

关于HTML,您不需要特殊的设置,只需一个普通的HTML即可调用test.js和依赖库。 根据您的示例:

<html>
    <head>
        <title>Hello haxe :)</title>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script src="test.js"></script>
    </head>
    <body>
    </body>
</html>

首先,您不应该更改haxe编译器为您生成的test.js文件的内容。 如果使用相同的Haxe代码,则JS Source看起来应该与在您自己的计算机上编译的.js文件看起来没有什么不同...

如果您尝试使用简单的html页面运行:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"/></head>
<body>

    <script type="text/javascript" src="test.js"></script>

</body>
</html>

并且您在页面上没有看到任何内容,请尝试打开控制台。 您可能会发现“骗子很棒!” 您正在寻找的。 如果您想要使用DOM的更具交互性的示例,请尝试以下.hx:

import js.Browser;
class Test {
    static function main() {
        var button = Browser.document.createButtonElement();
        button.textContent = "Click me!";
        button.onclick = function(event) {
            Browser.alert("Haxe is great");
        }
        Browser.document.body.appendChild(button);
    }
}

确保将文件命名为test.hx

然后通过在同一目录中运行.hxml文件,并使用以下命令进行编译:

-js test.js
-main Test

这应该给您一个test.js,就像我在顶部发布的那样,它一旦链接到index.html中,就可以在浏览器DOM中提供一些功能。

如果您想了解有关编译为JS并在浏览器中运行代码的更多信息,我建议在这里进一步阅读:

https://haxe.org/manual/target-javascript-getting-started.html

干杯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM