【问题标题】:Is it possible to have a JS function without using script tags?不使用脚本标签是否可以拥有 JS 功能?
【发布时间】:2018-03-28 13:56:21
【问题描述】:

在 HTML 中,我正在编写一个调用函数的基本按钮

<button onclick="text('Hello World')">Hello World</button>
<script src="https://pastebin.com/raw/AYp15C6j"></script>

Pastebin 链接只是这么说

function text(t) {
alert(t); 
}

我想知道是否可以在不使用脚本标记 的情况下调用外部链接/函数(而不仅仅是将 text('Hello World') 替换为 alert('Hello World')),理论上是这样的:

<button src="https://pastebin.com/raw/AYp15C6j" onclick="text('Hello World')">Hello World</button>

谢谢!

【问题讨论】:

标签: javascript html


【解决方案1】:

以下是添加 javascript 的三种方式。

<button onclick="text('Hello World')">Hello World</button>
<script src="https://pastebin.com/raw/AYp15C6j"></script>

<button onclick="text('Hello World')">Hello World</button>
<script>
function text(t) {
    alert(t);
}
</script>

&lt;button onclick="text('Hello World'); function text(t) {alert(t);}"&gt;Hello World&lt;/button&gt;

Click here 了解更多信息。

【讨论】:

    【解决方案2】:

    您需要在 html 页面中为 JS 函数添加一个脚本标记。 但在以下情况下,您不需要 JS 函数的脚本。

    此处示例:

      <button src="https://pastebin.com/raw/AYp15C6j" onclick="alert('Hello World'); 
        ">Hello World</button>
    

    onclick="alert('Hello World')"

    【讨论】:

      【解决方案3】:

      按钮标签中的onclick 是一个在鼠标单击元素时触发的属性,它定义了在该事件中必须执行的代码。

      您可以在等号之后定义要执行的代码:

      &lt;button onclick="alert('you clicked me')"&gt;Click me&lt;/button&gt;

      但是随着您的代码越来越复杂,它几乎不会是一行长,因此为了便于阅读,建议将您的代码放在脚本标签中:

      <button onclick="firesOnClick()">Click me</button>
      <script>
          var clicks = 0
          function firesOnClick() {
              clicks = clicks + 1
              alert('you clicked me ' + clicks + ' time(s)')
          }
      </script>
      

      这个link 有更多关于它的信息。

      【讨论】:

        【解决方案4】:

        不确定是否有帮助,但您可以在 onclick 处理程序中编写代码,如下所示:

        &lt;button onclick="f=function(t){alert(t);};f('Hello World');"&gt;Hello World&lt;/button&gt;

        或者像这样:

        &lt;button onclick="window[(!![]+'')[3]+'v'+(![]+'')[1]+(![]+'')[2]](atob('YWxlcnQoJ0hlbGxvIFdvcmxkJyk='));"&gt;Hello World&lt;/button&gt;

        【讨论】:

          猜你喜欢
          • 2021-08-26
          • 2018-12-06
          • 2011-02-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-02
          • 2020-07-01
          • 2013-06-17
          相关资源
          最近更新 更多