`

关于javascript事件触发多个函数的使用

js 
阅读更多
http://blog.csdn.net/jungle_java/article/details/6618325


今天在项目中遇到一个问题:有两个在不同的js文件中的函数,一个是用来校验form中的日期输入是否合法一个是用来重置iframe的src。

我在onclick事件中触发了这两个方法,此处暂时定为fun1和fun2,其中fun1用来校验合法性,fun2用来重置src。

最初的时候我是这样用的onclick="fun1();fun2()",但是,在fun1验证没有通过的时候fun2仍然执行了。



之后,经过多方查证,得出如下结果

view plain
onclick="return false; alert(1)"    //点击按钮画面没有反应 
 
onclick="return true;alert(1)"     //点击按钮画面没有反应 
 
onclick="alert(2);alert(1)"     //画面显示提示框2和提示框1 
 
onclick="if(1){alert(1);}"    //画面显示提示框1 

根据第四个例子的思想我可以在if语句中执行fun1,然后根据其返回值来判断是否执行fun2,即最终的解决办法是

onclick = "if(fun1(param1,param2)){fun2();}";    //此处特别要注意的一点是:fun1中必须要有返回值(true或者false)

通过这些也了解了js中return语句的使用
分享到:
评论

相关推荐

    javascript下对于事件、事件流、事件触发的顺序随便说说

    如:用户点击 也就是常用的click事件 事件流:多个事件 按一定顺序触发 形成了事件流 事件名称:如上面所讲的click就是事件名 事件处理函数/事件监听函数(Dom的叫法)就是 事件触发后的处理函数,如obj.onclick=fn;...

    实例讲解javascript注册事件处理函数

    触发事件之后就需要有事件处理函数去处理,例如我们可以定义当点击一个按钮之后,将一个div的背景设置为绿色,那么就先看一下如何实现此效果,代码实例如下: <html> <head> <meta charset=" utf-8...

    JavaScript基础教程第8版

    4.5 让多个链接触发一个翻转器 68 4.6 处理多个翻转器 71 4.7 创建循环的广告条 74 4.8 在循环广告条中添加链接 76 4.9 建立循环式幻灯片 78 4.10 显示随机图像 80 4.11 随机开始循环显示图像 81 第5...

    客户端统一验证JavaScript函数库及示例源码

    CancelClientEvent()是使用事件冒泡阻止了事件的继续执行,同时设置返回值,最终成功阻止事件的继续往后执行,当在客户端触发一要回发的按钮事件是,想在程序里结束让其继续执行时,以往则不是很好处理,如Enter键,...

    多次注册事件会导致一个事件被触发多次的解决方法

    一个JavaScript逻辑,会自动绑定函数到按钮的click事件,但是这段代码会反复注册事件。这样依赖onNext函数会在点击一次按钮的时候多次触发。 这是JQuery内部没有判断是否绑定多次,怀疑其内部用了数组保存事件函数,...

    JavaScript事件代理和委托详解

    当我们需要对很多元素添加事件的时候,可以通过将事件添加到它们的父节点而将事件委托给父节点来触发处理函数。 这主要得益于浏览器的事件冒泡机制,下面我们具体举个例子来解释如何使用这个特性。 这个例子主要取自...

    javascript观察者模式Watch.JS.zip

    watch.js目前主要可以做如下这些事情: 1,监听对象上一个或多个属性的改变,当改变后触发自定义事件。 2,批量观察一个对象上所有的属性,当有任何一个改变时,触发自定义事件。 3,可以取消订阅观察 4,你可以...

    浅析JavaScript 函数防抖和节流

    函数防抖和节流都是对高频动作触发回调函数的一个优化,实现方式上有类似之处。先从使用场景做个区分。 防抖使用场景: 表单输入框校验 提交按钮避免重复提交 节流使用场景: scroll,mousemove,resize等 函数防抖...

    jQuery事件及绑定.pptx

    JavaScript+jQuery 网页特效设计 jQuery事件基础 1、jQuery事件概述 jQuery对JavaScript操作DOM事件进行了封装,形成了更好的事件处理机制; 包括常用事件、事件绑定与解绑...bind() 方法:可以向被选元素添加一个或多

    Javascript节流函数throttle和防抖函数debounce

    问题的引出  在一些场景往往由于事件频繁被触发,因而频繁地进行DOM操作、资源加载,导致UI停顿甚至浏览器...在现在很多的javascript框架中都提供了这两个函数。例如 jquery中有throttle和debounce插件, underscore.j

    JavaScript事件委托技术实例分析

    首先每个函数都是对象,对象就会占用很多内存.内存中的对象越多,性能就越差. 其次,dom访问次数增多,就会导致延迟加载页面.事实上,从如何来利用好事件处理程序,还是有很好的解决方案的. 事件委托: 对事件处理程序过多...

    Kalendae日期多选控件Kalendajs-javascript

    可以在网页上显示为一个内联控件,或连接到一个或多个弹出一个控制输入字段。 可以连接到任何页面元素,不只是命名元素。 可配置的自定义参数,定义为一系列的日期或通过一个回调函数 输出选定日期以多种格式 利用...

    javascript事件绑定学习要点

    先来看一下脚本模型,脚本模型将一个函数赋值给一个事件处理函数。传统绑定如: [removed]=function(){ var box=document.getElementById('box'); box.onclick = function(){ alert('Lee'); }; }; ...

    actionpack:创建捆绑的Javascript函数和参数,这些函数和参数可以通过单个命令依次收集和运行

    行动包 创建捆绑的Javascript...如果函数带有多个参数,则传递给参数数组 thisArg:“ this”指向正在运行的函数的对象 isAddFunctionToStart:如果为true,则将添加的功能放置在功能列表的开头,因此将首先被触发(除

    文件批量上传客户端免费组件 v1.0.7 for php.rar

    选择多个文件上传,显示上传速度,进度条,纯正的FLASH代码,使用的是HTTP协议,所以客户端,服务端都不需要安装任何组件 因为是模仿FORM表单提交,所以支持所有的网页动态语言:ASP PHP ASP.NET JSP等 1.修正...

    史上最强JavaScript日历控件正式版(无偿的永久的提供给大家免费使用,含全部源代码)

    无效日期可以使用此功能禁用,所指定的一个或多个日期,只要你熟悉正则表达式,你可以尽情发挥 脚本自定义限制 系统提供了$dp.$D和$dp.$DV这两个API来辅助你进行日期运算,此外你还可以通过在 #F{} 中填入你自定义的...

    jQuery详细教程

    术语由事件“触发”(或“激发”)经常会被使用。 通常会把 jQuery 代码放到 部分的事件处理方法中: 实例 <script type="text/javascript" src="jquery.js"> <script type="text/javascript"> $(document).ready...

    前端笔记.zip

    这个文档包含了HTML/css的一些基础,还有JavaScript中的基础语法、DOM、BOM还有一些学习js中面向对象、和移动web开发、AJAX...答: jQuery.on()方法可以给匹配元素(可以是多个)绑定一个或多个函数, off 可以解除绑定

    视网膜::cityscape:Retinal是一种无服务器AWS Lambda服务,用于按需或事件触发调整图像大小

    由S3事件触发AWS Lambda函数使用出色的模块调整图像大小。 通过使用Sharp模块(使用libvips库),图像处理可以比使用ImageMagick快3到5倍,从而减少了函数运行所花费的时间,从而有可能显着降低lambda函数的成本。 ...

Global site tag (gtag.js) - Google Analytics