JavaScript 功能带有 <script>,不带 <script>
javascript functionality with <script> and without <script>
这是html的按钮事件,当按钮单击时它起作用
<!DOCTYPE html>
<html>
<body>
<button onclick="getElementById('demo').innerHTML=Date()">The time is?</button>
<p id="demo"></p>
</body>
</html>
代码来源 1
这个也可以工作,但这次它的功能是用脚本编写的
<!DOCTYPE html>
<html>
<body>
<p>Click the button to display the date.</p>
<button onclick="displayDate()">The time is?</button>
<script>
function displayDate() {
document.getElementById("demo").innerHTML = Date();
}
</script>
<p id="demo"></p>
</body>
</html>
源代码 2
两个代码给出相同的结果。我们可以调用两个代码都使用javascript吗?或者代码通过使用JavaScript功能起作用?或者JavaScript代码是HTML页面中唯一写在脚本中的代码
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Event_attributes 说明了一切:
每个 HTML 元素都有一组属性,这些属性允许 当某些事件发生时执行 JavaScript。这些属性 称为事件属性,并且是前缀为 "
on
"。
以下是事件列表: https://developer.mozilla.org/en-US/docs/Web/Events
每个on
前缀事件都由 HTML4 DOM 事件接口收集,并由 javascript 在window
范围内使用。
避免此类属性。
简而言之:让您的编程逻辑远离您的模板。
使用其他方法将事件侦听器附加到元素。
不,我是说只有我们用块编写的代码才称为javascript,或者我们可以直接使用它而不用脚本编写它,或者是否必须使用脚本
编写脚本不是强制性的,但这是一个遵循的约定,因为您通常不希望您的逻辑(Javascript)位于视图(HTML)中。
如果你看这里,你会看到onclick是click事件的javascript处理程序。
点击
onclick 属性返回当前元素上的单击事件处理程序代码。
所以两者都是javascript。onclick标签基本上指定了一种在没有脚本标签的情况下编写javascript的方法。但是,通常情况下,由于上述分离逻辑和模板的原因,您通常只进行像第一个答案一样的函数调用。
在我看来,你的两种方法都使用javascript。我更喜欢第二个选项并包含来自不同文件的 js,但如果它是这样的小项目,我不会打扰我。
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 使用不带文本文件的OpenLayers显示POI
- 获取用户选择的不带时区的日期
- 在web应用程序中的新搜索中重新加载搜索结果(不带jQuery)
- 不带jquery的全屏分页
- 用于匹配不带字符的单词的正则表达式
- 淡入不带HTML的背景图像
- ajax中的文本链接不带Jquery
- 重写不带defineProperty的对象getter
- 删除不带jQuery的覆盖css
- Angularjs-设置不带ng选项的select的默认值
- 选择不带选择器的元素,仅使用元素ID
- 获取不带Jquery的嵌套父HREF节点
- 将javascript中的JSON输出为不带jquery的列表
- 使变量可用于不带闭包的异步调用
- 重定向不带哈希的URL-Ember.JS
- 不带按钮的引导输入组文本占用一半空间
- javascript正则表达式,用于匹配带数字和不带数字的字符串
- 将参数作为不带.apply()的数组传递
- 使用