zoukankan      html  css  js  c++  java
  • [导入]JS里关于链接的小问题。

    看这的一个问题:

    <a href="javaScript:alert('herf')" onClick="javaScript:alert('onClick');">This
      is a test!</a>

    先响应什么事件呢?结果是先响应OnClick,然后是Href!

    再看这个:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head>

    <body>
    <form name="form1" method="post" action="">
      <input name="m_msg" type="hidden" id="m_msg">
      <a href="javaScript:formSubmit('herf')" onClick="javaScript:formSubmit('onClick');">This
      is a test!</a>
      <script language="JavaScript">
    <!--
     function formSubmit(m_message){
      form1.m_msg.value = m_message;
      form1.submit();
     } 
    -->
    </script>
    </form>
    <%
     Response.write(Request.Form("m_msg"))
    %>
    </body>
    </html>

    最后的结果应该很清楚了吧!最后输出是:herf !

    那我们来看这个:

    <a href="javaScript:;" onClick="javaScript:formSubmit('onClick');">This
      is a test!</a>

    函数与页面都和上而的相同。结果会是什么呢?答案是:表单没有提交成功。如果在formSubmit函数里加入其它的内容,都可以成功,就是不能提交!于是我真不明白是为什么了?

    因为OnClick事件在herf之前,理论上讲,应该先提交表单,再响应herf,所以应该成功的,但实际上不是这样的。想想上面的情况,两个不同的地方提交表单,事实上,第一个并没有提交,它只是先做一个预处理,如果没有其它的事件了,那么它会提交表单。而不幸的是,这里的href里的JS方法是空的,让页面误以为返回了空值,也就取消了提交。所以,上面的方法提交页面失败。

    因此,我个人觉得,这样用可能会好一些:

    <a href=="javaScript:My_Function();" >This is a test!</a>这是也ASP.net里常用的方法。

    而在DW里,生成菜单的时候,有这样的用法:

    <a href=="javaScript:;" >This is a test!</a>如果不用提交表单,而且不做任何事件处理,只是显示或者隐藏一些层的时候,可以这样。

    以上方法要在IE6.0以上版本才能测试成功。


    文章来源:http://computer.mblogger.cn/wucountry/posts/42315.aspx
    ================================
      /\_/\                        
     (=^o^=)  Wu.Country@侠缘      
     (~)@(~)  一辈子,用心做一件事!
    --------------------------------
      学而不思则罔,思而不学则怠!  
    ================================
  • 相关阅读:
    pyqt 实现左列表向右列表添加
    python 获取ffmpeg里可以推送的音视频设备名称
    精确控制windows全局音量二(Python)
    精确控制windows全局音量(Python)
    ${pagecontext.request.contextpath}绝对路径理解
    eclipse中修改JSP模板中的默认编码
    hibernate的ddl-auto属性
    乱码-eclipse显示中文16进制的
    在写数据库相关项目时,出现The server time zone value '�й���׼ʱ��' is unrecogni异常。
    mysql5.7.28安装和配置
  • 原文地址:https://www.cnblogs.com/WuCountry/p/305731.html
Copyright © 2011-2022 走看看