在HTML标签内调用javascript函数

前端之家收集整理的这篇文章主要介绍了在HTML标签内调用javascript函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下
<a href="#" onclick="hello()">click me</a>

我有一个Javascript文件

$(document).ready(function() {
  function hello() {
    alert('hi');
  }
});

但是当我点击“点击我”时,警报没有被触发.它说“你好”没有定义.我删除document.ready,它的工作原理.

这是因为“hello”没有被定义,直到整个文档准备好了,但是当上面的“锚”标签被渲染时,它找不到该功能

有什么办法可以让这个工作吗?

>我必须通过丑陋的“onclick”从html标签调用javascript函数
>我需要保持我的JS里面的document.ready(还有其他部分我需要)

解决方法

你的hello()函数声明不在全局范围内,所以来自尝试在全局范围内调用它的HTML的调用找不到它.您可以通过将hello()函数移动到全局范围来修复它:
function hello() {
    alert('hi');
}

$(document).ready(function() {
});

或者在全球范围内宣布:

$(document).ready(function() {
  window.hello = function() {
    alert('hi');
  }
});

猜你在找的HTML相关文章