3

<h1 onclick="sayhello()"> Hello Word</h1>

<script type="module" >
        sayhello=()=>{
            console.log('Hello');
        }
</script>

result is: (index):14 Uncaught ReferenceError: sayhello is not defined at (index):14

0

4 Answers 4

4

You should either remove type=module:

<h1 onclick="sayhello()">Click</h1>
<script  >
    sayhello=()=>{
        console.log('Hello');
    }
</script>

Or attach the function to window to use it globally:

<h1 onclick="sayhello()">Click</h1>
<script type="module">
    window.sayhello=()=>{
        console.log('Hello');
    }
</script>

Sign up to request clarification or add additional context in comments.

1 Comment

Any disadvantages to attaching the function to window to use it globally?
1

<button onclick="hellosay()">Click</button>
<script type="module">
  window.hellosay=()=>{
  console.log("hello")
  }
</script>

Comments

0

For javascript modules create a .js or .mjs file and export your javascript functions

Mymodule.js

export function sayHell(){
    console.log("ok");
}

and import it.

Samples here https://github.com/mdn/js-examples/tree/master/modules/basic-modules

Documentation here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules

1 Comment

Thank guy, I already got it by calling window object.
0

This is what your script should look like:

<script>
  function sayHello(){  
    console.log('hello')
  }
</script>

1 Comment

Thank you, but I need to use module system in my project.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.