2016-09-14 286 views
0

我使用「lua.vm.js」在網頁客戶端使用lua進行開發。如何從Javascript調用Lua函數

我想知道如何從js腳本調用Lua函數。

var element = document.getElementById("myBtn") 
    element.addEventListener("click", function(){ /*call here Lua function*/ }); 
+1

我懷疑,你發現在互聯網上什麼都沒有。 lua.vm.js網頁提供了一個示例... – Piglet

+2

這是一個[解決方法](http://pastebin.com/ck1rmRmK) –

回答

1

方法#1
操縱的JavaScript從Lua代碼中的對象:

<script src="lua.vm.js"></script> 
<script type="text/lua"> 
    function YourLuaFunction() 
     -- your Lua code is here 
    end 
</script> 

<button id="MyBtn">Lua inside</button> 
<script type="text/lua"> 
    js.global.document:getElementById("MyBtn"):addEventListener("click", YourLuaFunction); 
</script> 

方法#2
使用L.execute(code)從JS執行Lua代碼:

簡單的例子:
element.addEventListener("click", function(){ L.execute('YourLuaFunction()'); });

朗例如:

<script src="lua.vm.js"></script> 
<script> 
    function executeLua(code) { 
     try { L.execute(code); } catch(e) { alert(e.toString()); } 
    } 
</script> 
<script type="text/lua"> 
     function YourLuaFunction() 
     -- your Lua code is here 
     end 
</script> 

<button onclick="executeLua('YourLuaFunction()')">Exec Lua code</button>