如何在html网页中调用JS函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在html网页中调用JS函数相关的知识,希望对你有一定的参考价值。

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,页面不发生跳转,执行后还是在页面的当前位置。

看了下taobao的主页,他们采用的是第2种方法,而alibaba的主页是采用的第1种方法,和我们的区别是每个href里的javascript方法都用try、catch包围。

综合上述,在a中调用js函数最适当的方法推荐使用:

代码如下:

a href="javascript:void(0);" onclick="js_method()"
a href="javascript:;" onclick="js_method()"
a href="#" onclick="js_method();return false;"
参考技术A

具体看你是用的什么事件,举个简单的例子,例如鼠标单击事件下例: 就是这个名为每次加1按钮的onclick的点击事件调用aclick()函数,使文本框每次都+1

js:
<script>
function aclick()

    document.getElementById("txt1").value+=1;

</script>

html:

<input type="text" value="1" id="txt1"/>
<br>
<input type="button" value="每次加1" onclick="aclick()"/>



如果你会JQ,就是更快捷了, onclick都可以不要 

//<script ....引用JQ库>

js:
<script>
$('#btn').click(function()

$("#txt1").val+=1;

</script>
html:
<input type="text" value="1" id="txt1"/><br>
<input type="button" value="每次加1" id="btn" />


这只是简单的点击事件,还有更多的请看JS相关手册

http://www.w3school.com.cn/jsref/jsref_events.asp

本回答被提问者和网友采纳
参考技术B 先用<script type="text/javascript" src=""></script>引出JS函数所在的位置,或者是函数写在html文件里面,在本页面通过相应的方法比如鼠标单击事件等等=函数名 参考技术C 具体看你是用的什么事件,举个简单的例子,例如鼠标单击事件下例: 就是这个名为每次加1按钮的onclick的点击事件调用aclick()函数,使文本框每次都+1

1
2
3
4
5
6
7
8
9
10
11
12
13

js:
<script>
function aclick()

document.getElementById("txt1").value+=1;

</script>

html:

<input type="text" value="1" id="txt1"/>

<input type="button" value="每次加1" onclick="aclick()"/>

如果你会JQ,就是更快捷了, onclick都可以不要
//<script ....引用JQ库>

1
2
3
4
5
6
7
8
9
10

js:
<script>
$('#btn').click(function()

$("#txt1").val+=1;

</script>
html:
<input type="text" value="1" id="txt1"/>
<input type="button" value="每次加1" id="btn" />

这只是简单的点击事件,还有更多的请看JS相关手册
http://www.w3school.com.cn/jsref/jsref_events.asp

winform 中如何引用js和css??

    在使用C#开发winform程序过程中,经常会碰到嵌入了一个WebBrowser的浏览器控件。很多时候,需要在程序里控制网页的显示方式,或者调用网页当中的某个JS函数,反过来,也有可能网页也需要调用程序当中的函数来实现某些功能。下面讲解下如何互相进行交互。

    程序调用JS脚本如下:

    <script language=”javascript”>
         function  ShopXG(infor)
         
             alert(‘我要开网店、携购独立网店系统,模板最全,最专业的系统!’);
             return;
         
    </script>

     C#代码调用如下:
     using System.Security.Permissions; 
     注意: 类定义前需要加上下面两行,否则调用失败!
     [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
     [System.Runtime.InteropServices.ComVisibleAttribute(true)]

    调用的函数:
     webBrowser1.Document.InvokeScript("ShopXG ", new string[] ‘ssss’);

    JS中调用C#函数示例:
     C#函数如下:
     public void ShowMessage(string message)
     
              MessageBox.Show(“免费开网店,携购独立网店系统诚邀您的加盟!”);
     

    JS里的调用方法:
     <script language=”Javascript”>
     function  InvokeFunc()
     
      window.external.ShowMessage(‘呵呵’);
     
     </script>

参考技术A 亲,winform可以用webbrowse这个控件,这个控件相当于一个浏览器,使用它就可以浏览html文件了,在html文件里面就可以引入js和css 参考技术B winform中引用js和css?我没听错吧,你说的是winform做的浏览器里面嵌入js和css吧,一般情况来说js和css是针对网页的样式和一些网页动态布局,winform写出来的是Windows应用程序,就像手机app和webAPP一样,完全是两种不同的东西 参考技术C winform是exe应用程序,是c/s模式的,为什么需要用b/s网页模式的呢,这问题是否对知识有混乱? 参考技术D 不行吧!js和css是浏览器解释执行的东东,你用winForm做浏览器啊

以上是关于如何在html网页中调用JS函数的主要内容,如果未能解决你的问题,请参考以下文章

html在哪里引用js文件?

C# webbrowser 里如何调用网页里的js函数?

如何在IOS平台上使用js直接调用OC方法

如何在IOS平台上使用js直接调用OC方法

在HTML中,如何写js代码(或者别的)以实现flash的点击事件

如何在网页中调用python脚本?