白桦yuma
2018-05-18 10:43
采纳率: 98.1%
浏览 5.0k

如何在点击一个<div>时去执行一个javascript里的函数?

例如,我在body上面的script里写了一个函数
如果在body里有个input type="submit" value="调用函数a",点击就能
调用,但我将它改成div id="a" onclick="a()"调用函数a/div,为什么就调用不了了?

 <script>
function a(){
    ...
}
</script>
<body>
<form action="${pageContext.request.contextPath }/login.action" 
                                   method="post" onsubmit="return a()">
                                                        <input type="submit" value="调用函数a"/>
                                                        <!-- 没法调用-->
                                                        <!--<div id="a" onclick="a()">调用函数a</div>-->
</form>
</body>
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • 白桦yuma 2018-12-29 05:12
    已采纳

    被action给干扰了

    打赏 评论
  • xizhongg 2018-05-18 10:48

    把函数放在head里面试试

    打赏 评论
  • threenewbee 2018-05-18 11:05
     <html><head></head><body><div style="height:100px;width:100px;background:red" onclick="alert('ok')"></div></body></html>
    
    打赏 评论
  • threenewbee 2018-05-18 11:06

    我这里可以啊
    图片说明

    打赏 评论
  • 291640894 2018-05-18 13:09
    1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript语句
    2. a href="javascript:void(0);" onclick="js_method()" 这种方法是很多网站最常用的方法,也是最周全的方法,onclick方法负责执行js函数,而void是一个操作符,void(0)返回undefined,地址不发生跳转。而且这种方法不会像第一种方法一样直接将js方法暴露在浏览器的状态栏。 3.a href="javascript:;" onclick="js_method()" 这种方法跟跟2种类似,区别只是执行了一条空的js代码。 4.a href="#" onclick="js_method()" 这种方法也是网上很常见的代码,#是标签内置的一个方法,代表top的作用。所以用这种方法点击后网页后返回到页面的最顶端。 5.a href="#" onclick="js_method();return false;" 这种方法点击执行了js函数后return false,页面不发生跳转,执行后还是在页面的当前位置。 综合上述,在a中调用js函数最适当的方法推荐使用: a href="javascript:void(0);" onclick="js_method()" a href="javascript:;" onclick="js_method()" a href="#" onclick="js_method();return false;"
    打赏 评论
  • xwh1314 2018-05-19 01:50

    可以调用啊

     <!DOCTYPE html>  
    <html>  
    <head>  
    <meta charset="utf-8">  
    <title></title>  
    <meta http-equiv="X-UA-Compatible" content="IE=edge">  
    </head>  
    <body>  
    <html>  
    <head>  
    <script>
    function a(){
        alert(123);
    }
    </script>  
    </head>  
    <body>  
    <form action="${pageContext.request.contextPath }/login.action" 
                                       method="post" onsubmit="return a()">
                                                            <!--<input type="submit" value="调用函数a"/>
                                                            <!-- 没法调用-->
                                                            <div id="a" onclick="a()" style="height:100px;width:100px;background:red">调用函数a</div>
    </form>
    </body>  
    </body>  
    </html>  
    
    
    
    打赏 评论
  • masaida 2018-05-19 02:01

    function mySubmit(){
    var firMenuName = $('#menu1').combobox('getText');
    var menuName = $('#menu2').combobox('getText');
    var firMenuName= $('#firMenuName').val(firMenuName) ;
    var menuName =$('#menuName').val(menuName) ;
    console.info(firMenuName,menuName) ;
    $("#form1").submit();
    }

                        你模仿我的写一下
    
    打赏 评论
  • qwertyuiopln 2018-05-19 08:45

    将以下 的script放进head标签中
    <br> function clickdiv(){<br> alert(&quot;点击div显示内容&quot;);<br> }<br>

    打赏 评论
  • wlxarea 2018-05-21 06:25

    将函数放在onload方法里

    打赏 评论

相关推荐 更多相似问题