[转] HTML完美解决一个事件激活多个函数 (有新意,但实际作用不大)

HTML 中使用 JavaScript 的具体方式 介绍在 HTML 文档里面使用 JavaScript 的常见方式 阅读详情

HTML完美解决一个事件激活多个函数

 

前天用onblur来检测数据库中已经有的数据和客户端输入的数据是否有冲突,结果圈套了另外的函数既然不支持,晕死了,上网问人也是无果而终,网上看到这样的文章,虽然没起到什么大的作用,觉得这个思路值得收藏,转载于此,以做后用参考和学习之用!

完美解决一个事件激活多个函数

  如果你的网页中一个“OnLoad”事件要激活两个以上的JavaScript函数,那怎么办呢?小阳曾查阅了不少资料,结果都不尽如人意,无非是程序员根据情况,把要激活的函数统一放在一个函数里激活。

  但作为一个程序员,编写的代码的适用性是很重要的。请看下面一个例子:

  <BODY OnLoad='alert("这是<BODY>标签调用的函数")'>
<script language="JavaScript">
function myfunction(){
alert("这是JS脚本调用的函数");
}
document.body.onload=myfunction;
</script>
</BODY>

  运行后你会发现,它只跳出一个“这是JS脚本调用的函数”的警告框。< BODY>标签中要求激活的函数被“忽略”了。当然你可以运用前面提过的方法,把两个函数放一个函数里激活。但这样有不少弊端,特别是如果把这段JavaScript代码写成一个"myjs.js"文件,要用它的话直接加上< script language="JavaScript" src="myjs.js">< /script>即可,但如果还要在引用文件的页面中根据情况修改标签或者添加一段代码,多麻烦呀。这就降低了代码的适用性了。

  可不可以在编写JavaScript代码时就设计好,如果前面OnLoad事件已经有函数要激活,让它仍然激活前面的函数,但同时也激活本段代码所需要的函数?答案是肯定的。我们先看下这段代码:

  <BODY OnLoad='alert("这是<BODY>标签调用的函数")'>
<script language="JavaScript">
// document.body.onload是函数(function)型,用toString()函数转为字符串(string)型:
alert(document.body.onload.toString());
</script>
</BODY>


  运行后其中一个警告框中提示:

  function anonymous()
  {
  alert("这是标签调用的函数")
  }

  发现什么了吗?“document.body.onload.toString()”就是上面这段函数代码!我们这段字符串作为代码的一部分运行,那么我们就多了一个函数“anonymous()”,于是将这个函数和我们现在需要激活的函数一起激活就行了!

  下面我们以第一次提到的代码为例进行修改,得到最终代码:

  <BODY OnLoad='alert("这是<BODY>标签调用的函数")'>
<script language="JavaScript">
function myfunction(){
alert("这是JS脚本调用的函数");
}
//现在我们要激活的函数是“myfunction()”,原来要激活的函数是<BODY>标签里的“alert()”,
//下面这段代码可以两个一起激活:
myActive="myfunction()";

if(document.body.onload.toString())
{
eval(document.body.onload.toString().replace('anonymous()','bodyload()'));
document.body.onload=new Function("bodyload();"+myActive);
}
else document.body.onload=new Function(myActive);
</script>
</BODY>



  上段代码中,变量myActive是JS代码中要激活的函数,eval(string)函数是把其字符串参数当作是JavaScript脚本来运行。我们把document.body.onload.toString()中的“anonymous()”替换为“bodyload()”,得到一个新函数“bodyload()”,它包含了所有原来要激活的函数,再把函数“bodyload()”和我们要激活的函数一起在OnLoad事件中激活。

  为什么要把“anonymous()”替换为“bodyload()”呢?因为这个方法适用于所有事件(例如OnMouseOver),而所有事件toString()都是得到“anonymous()”,为了不和其它事件也用了这个方法冲突,我们把它替换掉。在其它事件中也依此替换即可。

  好了,我们运行一下最终代码,如你所愿地两个函数都激活了吧?添加的代码也挺简单,有挺强的适用性。

豆包内容完美迁移Typora:HTML转Markdown的底层原理与实战方案 在内容创作与知识管理的工作流中,跨平台、跨工具的格式兼容性是提升效率的关键挑战。其核心原理在于不同应用对剪贴板数据格式的解析差异:富文本编辑器通常以HTML格式存储样式信息,而Markdown编辑器则更偏好纯文本或标准Markdown语法。这种差异直接导致了复制粘贴过程中的格式丢失问题,打断了从素材收集到深度编辑的流畅工作流。从技术价值看,掌握HTML到Markdown的转换能力,实质上是掌握了内容在不同平台间无损迁移的底层通用方案。这不仅解决了眼前豆包到Typora的格式迁移难题,其方法论更可泛化应用于任 阅读详情

相关推荐

完美世界前端笔试

仅仅记录一些不太清楚答案的题目 1.dom键盘事件:keyDown,keyPress,keyUp 2.document.readyState的状态 loading:加载,document仍在加载 interactive:互动,文档已经加载完和解析,但是诸如图像、样式表和框架之类的子资源仍在加载 complete:完成,T文档和所有子资源都加载完。状态表示load事件即将被处罚。 3.jq

it_a_question的博客 2024

【v-on】一个元素绑定多个事件以及一个事件绑定多个函数的两种写法

本文代码主要讲述了v-on绑定事件函数传参,一个元素绑定多个事件的两种写法,一个事件绑定多个函数的两种写法,修饰符的使用。 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Document&lt;/title&a

ion_L的博客 1万+

别再用在线转换了!手把手教你用Solid Converter PDF v10搞定PDF转Word/Excel/HTML(附详细安装激活步骤)

本文详细介绍了Solid Converter PDF v10的专业PDF转换功能,包括如何安全高效地将PDF转换为Word、Excel和HTML格式。通过本地安装使用,避免了在线工具的安全隐患和功能限制,特别适合处理敏感文档和批量转换需求。文章还提供了详细的安装激活步骤和高级使用技巧,帮助用户充分发挥这款专业软件的强大功能。

weixin_30552811的博客 440

在html里调用函数调用函数调用,HTML ::在一个标签中调用许多函数

我需要帮助来纠正这种混乱的情况。下面的浏览器聊天代码可以作为一个整体使用,但并不完整。chat in silence:chat in with music:answer这些是脚本:这调用了bot APIvar pb = new Pandorabot("aiaas.pandorabots.com", 'validid', 'validname', 'validid');function doTalk...

weixin_42236938的博客 1291

让所有IE浏览器完美支持HTML5的完整解决方案

dist: {files: {该配置生成的已内置html5shiv功能,可完全替代独立脚本。多个Polyfill可能重复创建相同元素或注入重复CSS,带来性能损耗。Modernizr 官网提供在线构建工具(),允许开发者勾选所需特性,生成最小化版本。例如,若项目仅需检测:canvasflexboxtouch则生成的 modernizr 文件大小可控制在8KB 左右(压缩后),远小于全量版的 40KB+。

weixin_42588555的博客 1094

Visionpro 使用CogPMAlignTool工具提取匹配轮廓点

【代码】Visionpro 使用CogPMAlignTool工具提取匹配轮廓点。

weixin_43947315的博客 2092

HTML中拼接函数一次传多个参数异常问题

在HTML中 在JS 中进行动态编辑标签,拼接函数传参时,往往涉及到多个参数,这是可能会造成参数传递异常 代码形式如下:(拼接时函数名不要加引号,参数加引号) function(value, row, index) { actions.push('<a onclick= editDevice("'+row.id+'","'+row.deviceTypeId+'")><i class="fa fa-edit"></i>编辑</a> '); .

China_HaoZi的博客 620

深入解析摄像头硬件接口:DVP、MIPI-CSI2与USB的技术对比与应用场景

本文深入解析了摄像头三大主流硬件接口DVP、MIPI-CSI2与USB的核心技术差异。DVP接口作为并行传输的“老兵”,成本低但带宽和抗干扰能力有限;MIPI-CSI2凭借差分串行设计成为移动高清设备的首选,具备高带宽和强抗干扰性;USB接口则依托UVC标准实现了跨平台的即插即用。文章通过对比传输方式、带宽、应用场景等关键维度,为智能硬件、嵌入式系统等领域的工程师提供了清晰的选择指南。

c7d8e的博客 515

JS同一元素同一事件,处理多个函数

1.注册事件有两种方式: 1.1 传统方式(出现覆盖现象) var btn = document.querySelector('button'); btn.onclick=function(){ alert('1'); } btn.onclick=function(){ alert('2'); } // 点击btn之后弹出 2 注:最后注册的处理函数将覆盖之前的处理...

前端开发-陈善强 904

Windows 10/11下R与RStudio最新版安装避坑指南(含镜像加速配置)

本文提供了Windows 10/11系统下R与RStudio最新版的详细安装指南,包含镜像加速配置和常见问题解决方案。通过分步教程帮助用户避开安装陷阱,优化开发环境设置,特别适合国内用户快速搭建高效的数据分析平台。

weixin_29065959的博客 1005

信号完整性仿真SI之Cadence Sigrity SPEED2000_眼图仿真(四)

今天给大家分享一个仿真的操作流程,是关于Cadence Sigrity SPEED2000的时域波形仿真和眼图仿真。我们会经常看见硬件工程师调试示波器上的一些信号的波形变化,其实这些也可以通过仿真电路的搭建来做出投板前的仿真,来优化走线,以减少版本的迭代次数。如果要和实际的信号保持一致,就要求仿真设置的参数和实际的参数保持一致,这也是仿真的重点和难点。下面先让我们了解一下Cadence Sigrity SPEED2000时域仿真的操作流程: 1.仿真模式选择与文件导入 选择Cadence Sigrity下的

刘小同学的博客 1万+

完美解决一个事件激活多个函数

完美解决一个事件激活多个函数脚本说明: :把如下代码加入区域中:        (这里可以调整时钟的方位。调用脚本时去掉括号中内容) <!-- function show5(){if(!document.layers&&!document.all) return var Digital=new Date() var hours=Digital.getH

Air的博客 339

从CentOS迁移到openEuler 24.03 LTS:手把手教你部署Java+MySQL+Redis+Nginx全栈环境

本文详细指导如何从CentOS迁移到openEuler 24.03 LTS,并部署Java+MySQL+Redis+Nginx全栈环境。涵盖系统配置、软件安装、性能优化及环境验证,助力企业级用户高效完成服务器迁移与部署。

weixin_26938645的博客 389

HTML转Figma高效转换工具完整使用指南

在现代设计工作流程中,将现有网页快速转换为可编辑的Figma设计稿已成为设计师必备技能。HTML转Figma工具通过智能解析技术,能够将任意网页瞬间转换为专业的设计文件,大幅提升设计效率。 ## 工具核心价值与优势 传统设计转换流程需要设计师手动截图、标注尺寸、重绘元素,整个过程耗时且容易出错。HTML转Figma工具的出现彻底改变了这一现状,通过自动化转换实现从代码到设计的无缝对接。 ##

gitblog_00732的博客 1082

ISO13849功能安全从入门到精通(3):安全功能及其对降低风险的贡献4

例如,如果机器必须在有限速度下运行时进行设置,那么在低加速度值下进行设置时,参数P1将是正确的选择:随着危险缓慢出现并给予足够的运动自由,操作员将能够移出危险区域。例如,在无故障的条件下,在操作者的手的方向移动的滚子不能陷住它。在所有其他情况下,F1是正确的选择,前提是危险暴露的持续时间不超过机器总操作时间的1/20。需求来源于必要的风险降低。由于这些考虑而降低的PLr在任何情况下都不得低于通过比较方式考虑的机器的PLr,因为并不能从事故发生率低和严重程度低得出实施的安全功能提供的安全水平高于要求。

wdconan001的博客 836

【DeepSeek实战】1、DeepSeek民用级开发全指南:从0到1掌握AI应用开发与模型蒸馏实战

DeepSeek创新性地打破了传统AI开发的技术壁垒,通过双模型架构(DeepSeek-V3和R1)实现普惠化与专业化并重。其核心优势包括:零代码操作、浏览器直接使用、中文提示词控制及低成本(2元/百万token)。用户通过简单三步(注册-配置-使用)即可快速开启AI之旅,平台提供$50免费额度支持2个月高频使用。 四大核心应用场景: 办公自动化:周报撰写、PPT生成、数据分析一键完成 内容创作:提供爆款标题生成、垂直领域写作模板 学习辅助:支持文档解析、错题讲解、知识图谱构建 生活服务:个性化行程规划

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 1735

html5监听任何App自带返回键javascript事件

1、前言 如今h5新特性、新标签、新规范等有很多,而且正在不断完善中,各大浏览器商对它们的支持,也是相当给力。作为前端程序员,我觉得我们还是有必要积极关注并勇敢地加以实践。接下来我将和各位分享一个特别好用的h5新特性(目前也不是特别新),轻松监听任何App自带的返回键,包括安卓机里的物理返回键,从而实现项目开发中进一步的需求。 2、起因 大概半年前接到pm一需求,用纯h5实现多audio的播...

haocaicai的博客 8931

130页5万字某市档案馆数字档案馆建设方案

【版权声明】本资料来源网络,仅用于行业知识分享,供个人学习参考,请勿商用。【侵删致歉】如有侵权请联系小编,将在收到信息后第一时间进行删除!完整资料领取见文末,部分资料内容:国家档案局证实颁布《数字档案馆建设指南》, 明确了数字档案馆建设原则、要求、目标,对相关系统建设内容、功能要求进行了概括和详细说明。数字档案馆系统建设应以 OAIS&nbsp;参考模型为设计基础,以实现数字资源的长期保存与可信管理。设计的数字档案馆系统架构如下图。图-1 数字档案馆体系结构数字档案馆建设包括五大层次和三大保障体系:

zuoan1993的博客 1180

javascript 完美拖拽

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m...

咖啡味的小认真 422

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

HTML插入Flash的全兼容完美解决方案-SWFObject

HTML插入Flash的全兼容完美解决方案-SWFObject 下面我就转贴别人的一篇文件,共同学习一下 Flash 嵌入的问题朋友们可能认为很简单,但是具体到一些问题上来讲,就不是那么简单了,比如:IE浏览器对FLASH的拦截虚框怎么去掉?在FF、OP、NS等其它浏览器是否兼容?代码是否符合W3C标准??等等 下面我就转贴别人的一篇文件,共同学习一下 一、传统的方法 <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"

397

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

HTML网站重构技巧高效实现功能与美学的完美融合

微服务网关:Flask+Consul的动态路由发现

2501_93032499的博客 380

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

sublime text 3 3126 完美激活与汉化插件安装

sublime text 3是一个非常棒的编辑器,非常适合于程序猿写代码,好用之处自行百度。这个编辑器激活与汉化的教程网上的方法五花八样,这里给大家总结一个可用且简单的方法,其实也就是官网的说明。sublime text 3 3126 激活码 —– BEGIN LICENSE —–Nicolas HennionSingle User LicenseEA7E-8660758A01AA83...

afpxsx0400的博客 428

HTML转Figma终极指南:3分钟将网页变设计稿

你是否曾经想要将喜欢的网页设计快速转换为Figma文件进行编辑和学习?**HTML转Figma工具**就是你的完美解决方案!这个强大的Chrome扩展能够将任何网页瞬间转换为可编辑的Figma设计稿,让设计师和开发者的工作流程变得更加高效顺畅。 在传统的工作流程中,设计师需要手动截图、测量尺寸、重新绘制元素,整个过程既耗时又容易出错。**HTML转Figma工具**通过智能解析技术,彻底改变了这

gitblog_00943的博客 1083

5分钟掌握网页设计效率革命:HTML转Figma转换器深度解析

在当今快节奏的设计领域,网页设计工具的选择直接影响着创作效率。HTML转Figma转换器作为设计工作流优化的重要利器,正在重新定义设计师与开发者的协作模式。这款由Builder.io团队精心打造的工具,将网页内容无缝转换为可编辑的Figma设计文件,让创意实现过程变得前所未有的高效。 ## 为什么设计团队都在使用这款转换器? **竞品分析效率提升300%** 传统竞品分析需要设计师手动截图、测

gitblog_00240的博客 599

Kimi转Word公式表格保真指南:HTML中转法3秒解决

Markdown是一种轻量级标记语言,广泛用于技术文档编写,其核心价值在于语义化结构与格式分离。然而在工程实践中,将Markdown内容(尤其是含LaTeX数学公式、多级标题和复杂表格)导入Microsoft Word时,常因格式协议不兼容导致公式乱码、标题降级、表格坍缩等问题。根本原因在于Word原生对Markdown支持薄弱,但对HTML具有深度解析能力——HTML作为Word的底层渲染语言,可精准映射标题、表格、样式等DOM结构。通过‘Kimi Markdown→本地固化→HTML中转→Word选择性

weixin_29015483的博客 318
上一篇: [转] JavaScript 动态添加表格/动态添加事件/态设置属性
下一篇: [转] JavaScript修改注册表
sendfeng
博客等级 码龄20年 5粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值