Just curious, though, is there a way to call a function outside of its own require statement? I take it making global functions gets messy very quickly, and shouldn't be done, but it's good to know if it is possible to do in the new AMD format.
require(function() { function myFunc() { } // Assign the function to window so it is globally available. window.myFunc = myFunc; });
I had exactly the same question. Thanks Jeff.
Thanks zj_zou and Jeff, since I have 8 sets of parameters, I'll end up with 8 event handlersDavid
define(["dojo/_base/lang", "dojo/dom", "dojo/on", ...], function(lang, dom, on, ...) { return { init: function() { on(dom.byId("chkbox1_ID"), "change", lang.hitch(this, function(evt) { this.chk1_onChange(evt, param1, param2); })); }, chk1_onChange: function(evt, param1, param2) { // respond to the event } }; });
<script> var dojoConfig = { parseOnLoad: true, async: true, packages: [{ name: "module", location: "/path/to/module" }] }; </script> <script src="http://js.arcgis.com/3.6/"></script> <script> require(["module/app", "dojo/domReady!"], function(app) { app.init(); }); </script>
Thank you for the responses. They are a help. What I'm trying to do is to pass arguments into a function from various checkboxes (each with their own set of arguments), Is there a way to do that using AMD? Just to explain the situation a bit more: <script>require ({.....function X (takes arguments a, b))};<html section>checkbox 1 -----function X (argument1a , argument 1b)checkbox 2 ------ function X (argument2a, argument 2b)David
What you need to doInside the require function call dojo/on to connect the checkbox to the event handler function. (If you don't need to deal with legacy browsers you should use the built in JavaScript addEventListener function instead of dojo/on.)
function updateLayerVisibility (arg1, arg2) { // only need to use require when updateLayerVisibility depends on module1, module2,... require([module1, module2,...], function (module1, module2, ...) { // code for updateLayerVisibility }); }
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.