相关疑难解决方法(0)

为什么在Javascript事件处理函数中使用括号?

Javascript大师,看看这段代码:

<button onclick="handler()">ClickMe</button>
        <script>
            function handler() {
            alert("clicked");
        }
     </script>
Run Code Online (Sandbox Code Playgroud)

为什么onclick事件应该用()onclick ="handler()"分配给handler?在这种情况下,会调用警报.但是根据描述为类似问题的回答的逻辑/sf/answers/227293111/ onclick分配给函数处理程序的结果,而不是自己运行.我相信指定onclick功能它应该是这样的

onclick="handler", 
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,不会调用警报.为什么?

javascript javascript-events

7
推荐指数
4
解决办法
2858
查看次数

为什么我不能从onclick属性调用名为clear的函数?

我正在尝试创建一个简单的计算器,当单击一个按钮时,它的值显示在文本字段中,按钮"C"应该清除文本字段但是它的onclick ="clear()"不起作用?

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Calculator</title>
        <style>
            #button{
                padding: 10px;
            }
        </style>
        <script>
            function fill(val){
                document.getElementById("field").value+=val;
            }
            function clear(){
                document.getElementById("field").value="";
            }
        </script>
    </head>
    <body>
        <form>
        <table>
            <tr><input type="text" name="field" id="field" size="8"/></tr>
        <%! int k = 1; %>
        <% for(int i=0;i<3;i++){ %>
        <tr> <%
            for(int j=0;j<3;j++){ %>
            <td><input type="button" id="button" onclick="fill(this.value)" value="<%=k++%>" /></td>
          <%  } %>
        </tr>
        <% } %>
        <tr>

<!--here onclick="clear()" is not working?? -->

            <td><input type="button" id="button" value="C" onclick="clear()"/></td>
            <td><input …
Run Code Online (Sandbox Code Playgroud)

html javascript

6
推荐指数
1
解决办法
845
查看次数

为什么此锚点说“搜索不是函数”?

我编写了一个函数search,希望单击链接时会调用该函数,如下面的代码片段所示:

<script>
  function search() {
    console.log('Searching');
  }
</script>
<a href="#" onclick="search();">Click here</a>
Run Code Online (Sandbox Code Playgroud)

但是,该代码无法按我预期的方式工作,当单击链接时会导致此错误(在Chrome中):

未捕获的TypeError:搜索不是函数

我尝试记录日志search以查看为什么引发了错误:

<a href="#" onclick="console.log(search)">Click here</a>
Run Code Online (Sandbox Code Playgroud)

<a href="#" onclick="console.log(search)">Click here</a>
Run Code Online (Sandbox Code Playgroud)

这次,每次单击链接时,控制台都会记录一个空字符串。令我感到困惑的是,search实际上它在其他地方定义为空字符串,这使我的函数定义毫无用处。

所以我想知道单击事件被触发时发生什么情况,以及何时search定义?

html javascript dom-events

5
推荐指数
1
解决办法
114
查看次数

ch() 函数出错

我点击 td 时出错。为什么?

function ch() {
  console.log("cliked")
}
Run Code Online (Sandbox Code Playgroud)
<table>
  <tr>
    <td onclick='ch()'>
      click on td
    </td>
  </tr>
</table>

<div onclick="ch()">click on div</div>
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
1
解决办法
87
查看次数

标签 统计

javascript ×4

html ×2

dom-events ×1

javascript-events ×1