首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我运行.onclick时,它运行了一次,然后就不能再工作了

当您运行.onclick时,它只会执行一次的原因可能是因为您没有为该事件绑定持久性的处理程序。通常情况下,.onclick是用于给HTML元素添加点击事件的方法。每次点击该元素时,绑定的处理程序会被触发执行。

要解决这个问题,您可以尝试以下几种方法:

  1. 确保您的代码正确绑定了.onclick事件。例如,您可以使用以下方式将点击事件绑定到一个按钮上:
代码语言:txt
复制
var button = document.getElementById("myButton");
button.onclick = function() {
  // 在这里编写您的点击事件处理程序
};
  1. 如果您希望点击事件可以多次触发,可以考虑使用.addEventListener()方法来绑定事件。这样可以确保每次点击都会执行相应的处理程序。例如:
代码语言:txt
复制
var button = document.getElementById("myButton");
button.addEventListener("click", function() {
  // 在这里编写您的点击事件处理程序
});
  1. 检查您的代码是否存在其他地方对.onclick事件进行了重复绑定。如果多次绑定了相同的事件处理程序,可能会导致只执行一次的问题。
  2. 如果您的代码中使用了动态生成的元素,您需要确保在生成元素后再绑定事件。因为如果在元素生成之前绑定事件,事件处理程序可能无法正确地绑定到元素上。

总结起来,要解决只执行一次的问题,您需要确保正确绑定事件,并且避免重复绑定。如果需要多次触发点击事件,可以考虑使用.addEventListener()方法。另外,还需要注意动态生成元素时的事件绑定时机。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android事件分发机制完全解析,带你从源码的角度彻底理解(上)

目前虽然网上相关的文章也不少,但我觉得没有哪篇写得特别详细的(也许我还没有找到),多数文章只是讲了讲理论,然后配合demo运行了一下结果。...可以看到,onTouch是优先于onClick执行的,并且onTouch执行了两次,一次是ACTION_DOWN,一次是ACTION_UP(你还可能会有多次ACTION_MOVE的执行,如果你手抖了一下...我们发现,onClick方法不再执行了!为什么会这样呢?你可以先理解成onTouch方法返回true就认为这个事件被onTouch消费掉了,因而不会继续向下传递。...而打印结果也证实了如果onTouch返回true,onClick就不会行了。 根据以上源码的分析,从原理上解释了我们前面例子的运行结果。...然后每当控件被点击,都会在performClick()方法里回调被点击控件的onClick方法。 这样View的整个事件分发的流程就让我们搞清楚了!

1.2K60

Android事件分发机制完全解析,带你从源码的角度彻底理解(上)

目前虽然网上相关的文章也不少,但我觉得没有哪篇写得特别详细的(也许我还没有找到),多数文章只是讲了讲理论,然后配合demo运行了一下结果。...我们来试一下就知道了,运行程序点击按钮,打印结果如下: 可以看到,onTouch是优先于onClick执行的,并且onTouch执行了两次,一次是ACTION_DOWN,一次是ACTION_UP(你还可能会有多次...细心的朋友应该可以注意到,onTouch方法是有返回值的,这里我们返回的是false,如果我们尝试把onTouch方法里的返回值改成true,再运行一次,结果如下: 我们发现,onClick方法不再执行了...而打印结果也证实了如果onTouch返回true,onClick就不会行了。 根据以上源码的分析,从原理上解释了我们前面例子的运行结果。...然后每当控件被点击,都会在performClick()方法里回调被点击控件的onClick方法。 这样View的整个事件分发的流程就让我们搞清楚了!

47610
  • 我的皮带秤劳模朋友(二)(面向皮带秤从业者赠书)

    在罗的配合下,2007年2月第一台正式投,2007年7月投了第二台、第三台,2008年春节前,又投了第四台、第五台,稍后又投了第六台、第七台。...我请一位在净化岗位工作了十多年的女工就使用定量给料机秤前后的劳动强度作一下对比,她非常高兴地说:“以前每个小时得去现场看四五次,生怕锌粉断料,现在有仪表显示,真正断料有报警,我们现在每个小时只去现场看一次行了...特别是需要改变给料量,以前得忙十多分钟流量才调得过来(调整电振给料机后,需要数十秒钟接料多次才能大体调得差不多),现在改变给料量只需2秒钟就行了。”...04 锌渣压饼机自动操作 稍后,我们又与罗合作,将一台锌渣压饼机的自动控制恢复运行。...我们借来了这台三菱PLC的编程器,先将机内程序拷贝读出、分析,然后在现场尝试投入自动,结果程序执行一半就中断了,对照拷贝的程序,发现就是程序中一个动作节点的常开常闭接反了,修改了动作节点状态,程序就可以顺畅地从头到尾自动运行了

    16830

    【Unity游戏开发】记一次解决 LuaFunction has been disposed 的bug的过程

    上面的组件在实际使用中会偶现  LuaFunction has been disposed 这个bug,经常出现于我们在UnityEditor中停止运行游戏的时候,虽然看起来没有影响游戏的正常运行,但是毕竟这个...= null) 25 { 26 this.onClick(gameObject); 27 } 28 } 29 }   出现报错信息的控制台截图...看来不阅读分析一下UGUI的源代码是不行了,幸好Unity官方将大部分的UGUI代码进行了开源操作,我们可以很方便地阅读,以便深入地了解UGUI的运行机理,遇到问题也可以更好地定位源头,UGUI源代码的传送门...我们所处的平台是PC平台,因此使用的是 StandaloneInputModule 这个子类,找到的 DeactivateModule 方法,内容很简单就是两行,先调用了基类的方法,然后行了ClearSelection...通过观察上图,我们知道了,首先会执行脚本中的 OnApplicationQuit 然后执行 OnDisable 最后执行脚本的OnDestroy函数。

    1.2K10

    我之理解---计时器setTimeout 和clearTimeout

    1:当我们点击start按钮后就开始运行函数,先显示数字0,然后运行到setTimeout,1s后执行一次startCount函数,因为函数内部有setTimeout  所以函数会一直执行下去,  而当我们再次点击...start按钮,这个函数还会执行一次,之前这个函数已经在执行了。...我们来运行一次函数,点击开始,函数开始运行,当运行到setTtimeout的时候设置了该函数1s后再运行一次,此时有个返回值 i 。...函数执行一次,setTimeout设置了1s后执行函数一次,(没有setTimeout就不运行函数了),指令下达后执行,我们去执行, 当进入到函数内部(也就是函数体)的时候遇到了clearTimeout...可我们已经在执行了,况且我们的指令也就是执行这一次,我们执行完了就不会执行了。此时的clearTimeout对我们这次执行函数没什么影响。

    1K40

    谈一谈做嵌入式的心路历程

    我喜欢美国诗人弗罗斯特的一首诗 黄色的林子里有两条路, 很遗憾我无法同时选择两者 身在旅途的我久久站立 对着其中一条极目眺望 直到蜿蜒拐进远处的树丛。...这一切虽然学过,但是真正在工作上,却发现比大学学过的东西要深奥许多。于是不断的学习和思考,终于9月份的时候,我完成了板子原理图的绘制工作。...那时候我也是做原理图的绘制,吴就布PCB板。在那段时间里,我每天工作的很晚,就像一个不知疲倦与外界完全隔绝的机器。分析电路,计算放倍数,电路的滤波,电源的设计。...记得第一次出差是到襄阳,当时一个人第一次去,所实话还有电小兴奋。...记得有一次去车上检修设备,本来是要放旗帜的,我们也按照规则做了,没想到风吹掉了,然后就被狠狠的批判了一顿。还有一次帽子的带子送掉了,就被记过了。

    1K50

    2017 Openstack Days China | 大规模云计算环境下的维实践

    说到云计算维实践,必须有要实践的来源。腾讯私有云Tstack,目前运行了10000+ OS,可以算是国内最大的私有云平台之一。目前部署在深圳,天津,上海,成都四个区域,共拥有14个集群。...比如,超融合架构下,TStack采用Cgroup进行了资源限制。另外也可采用cpulimit对CPU运行进行灵活限制,采用TC对网络进行限流。...3.过载保护: 服务维常见的一个问题就是,当服务压力过大,必须能够保证关键业务的运行,保障生命级业务的正常运行,因此,服务分级是必须的,在压力过大,必须能够区分关键业务和非关键业务,确保正确疏散关键业务的压力...就拿车来举例子,不管是什么样的车,无论性能多好,加速多快,关键是要有方法去驾驶,否则这辆车就会失去方向。云计算环境也一样,无论我们提供硬件有多好,功能有多强大,对于维人员来说,可运营是最关键的。...单必须写清楚具体的操作步骤和操作命令,写的模糊的单,会让人有多种理解方式,很容易出错;其次,按单操作也很重要,最忌讳维人员看到单子以后,发现单子与自己理解的意思不一样,按照自己的方式操作了,那就事情了单的意义

    1.8K40

    Android service ( 一 ) 三种开启服务方法

    ()的话必须context.stopService() 和 context.onUnbind()都调用才可以停止服务 使用context.bindService()启动,需要在Service中创建一个...三、 Service生命周期 Service的生命周期并不像Activity那么复杂,只继承了onCreate()、onStart()、onDestroy()三个方法 当我们第一次启动Service...这里需要注意的是,如果Service已经启动了,当我们再次启动Service,不会在执行onCreate()方法,而是直接执行onStart()方法。...只有少数的前台进程可以在任何给定的时间内运行,销毁他们是系统万不得已的、最后的选择——当内存不够系统继续运行下去。...4 一个后台进程就 是一个非当前正在运行的activity(activity的onStop()方法已经被调用),他们不会对用户体验造成直接的影响,当没有足够内存来 行前台可见程序时,他们将会被终止。

    3.8K10

    从 0 到 1000+ 台服务器监控的构建之路

    多年以来一直以稳定运行为前提,确保业务永不掉线,带领维团队自主开发了维系统,包含,资产管理,单管理,监控系统,域名管理,公有云管理,私有云管理等平台,并将维数据进行分析整理,将维工作透明化,可视化...具备目前在用的Nagios所有功能:比照Nagios去做,覆盖原来的功能,并针对Nagios的问题进行优化改进,然后在替代了Nagios之后升级。...重要的告警的处理是分秒必争的,也跟界面显示无关,所以我在设计的时候将显示和告警功能进行了一次分离,在本地机房进行报警,然后集中展示。 4. ...答:是异步的,这个业务系统是放在大屏上展示的,出了问题不用来研发和维这边询问,就能直接看到哪里出了问题,也知道具体找谁询问恢复情况。 问:这个监控对资源的消耗有多大?...可视化就是将大家重点关注的展示出来,用维的数据教育他们,单是所有维操作的起点,也是避免背锅扯皮的利器,单系统其实是我最花心思设计的系统,单的流程,尤其是审批。遇到滥用工单的情况,能气死你。

    1.4K00

    理解 React Hooks 的 Capture Value 特性

    由于刚使用 React hooks 不久,对的脾气还拿捏不准,掉了很多次“坑”;这里的 “坑” 的意思并不是说 React hooks 的设计有问题,而是我在使用的时候,因为还没有跟上的理念导致的一些问题...我们先点击一次 增加 count,然后紧接着点击一次 减少 count: 如果不是按照官方的机制设置,那么我们看到的两次弹层显示的 count 数值都是 0 —— 很明显这不是我们想要的 还好实际情况不是这样...,会先显示 1,然后显示 0 ?...在知道并理解这个特性后,有助于进一步熟悉了 React Hooks 的运行机制,减少掉坑的次数。...官网提供的 useRef 来解决,也有人针对行了封装(How to compare oldValues and newValues on React Hooks useEffect?)

    1.3K10

    IT维支持如何转化为服务

    说明:维体系可以从组织、流程、工具三块进行扩展,前面几期的文章对维组织中的专业化 进行了分析,并将专业化涉及的线底保障能力、可用性保障能力、维分析能力(ITOA)、IT运营能力单独作了分解,接下来还将进一步对专业化能力剩下的服务能力...一、ITIL、ISO20000、ITSS中的服务 老规矩,第一章先来对全文命题的名词做分析调研,本篇的名词是IT运营服务,其中IT运营在上一篇文章作了分析:即以业务为本,以稳健维、风险可控为底线,从组织...我对ITSS这个模型的认识是去年做所在团队能力水平调研行了解,从有限的资料学习看,ITSS涉及的面比ITIL或ISO20000更广,而且更接地气,从战略发展、运营保障、组织治理等多个方面进行细分,是企业细化...3、从尽最大努力到可量化与可视化 维组织里的管理考核通常以服务台咨询响应率,单处理及时率,应用可用性等指标,故障处理的时效性等,这些考核指标有底线思维的特点,这种特点容易造成维组织只有及格与不及格的评价...另外,可视化其实是将人头脑中形成的最佳实践以计算机的方式呈现出来,体现出我们对维工作的理解达到什么程度。

    1.7K31

    写给初学者的Jetpack Compose教程,使用State让界面动起来

    即我们去描述一个控件要附带上的状态。然后当有任何状态需要发生改变,只需要像刷新网页一样,让界面上的元素刷新一遍,那么自然状态就能得到更新了。...fun Counter(modifier: Modifier = Modifier) { val count = remember { mutableStateOf(0) } ... } 然后重新运行一下程序...既然都是Int了,那么我们就可以直接对这个值进行读写操作了,而不用像之前那样调用它的getValue()和setValue()函数,是不是代码变得更简单了?...因此,当我们编写Composable函数,最理想的情况就是尽可能地让成为一个无状态的Composable函数。 那么怎样才能做到这一点呢?...然后我们通过参数传递的方式给两次Counter函数调用传入了不同的State对象,并通过回调的方式对两个计时器的点击事件进行了不同的逻辑处理。

    1.1K20

    理解 React Hooks 的 Capture Value 特性

    由于刚使用 React hooks 不久,对的脾气还拿捏不准,掉了很多次“坑”;这里的 “坑” 的意思并不是说 React hooks 的设计有问题,而是我在使用的时候,因为还没有跟上的理念导致的一些问题...我们先点击一次 增加 count,然后紧接着点击一次 减少 count: 如果不是按照官方的机制设置,那么我们看到的两次弹层显示的 count 数值都是 0 —— 很明显这不是我们想要的 还好实际情况不是这样...,会先显示 1,然后显示 0 ?...在知道并理解这个特性后,有助于进一步熟悉了 React Hooks 的运行机制,减少掉坑的次数。...官网提供的 useRef 来解决,也有人针对行了封装(How to compare oldValues and newValues on React Hooks useEffect?)

    1.8K10

    JavaScript 学习-24.函数闭包(closure)

    计数器问题 如果我们想设置一个计数器,当我们打开一个页面,只有5次点击机会,点完就不能点击了。...).innerHTML = '还剩' + counter + '次'; } 实现效果 每点一次会减1 最后为0不可被点击 看起来是没什么问题,但是这个会有一个安全隐患...如果用户在控制台,改变了全局变量counter的值,比如我在console执行var counter=100 当我点一下按钮,就会变成99次 闭包的作用 为了解决这种全局变量导致的问题,所以我们需要在函数内部设置一个私有变量...计数器 如果是从0开始,每运行一次函数加1,那么可以优化成以下代码 计数!...那么闭包的好处有以下几点: 保护函数内的变量安全 在内存中维持一个变量(用的太多就变成了缺点,占内存) ; 逻辑连续,当闭包作为另一个函数调用的参数,避免你脱离当前逻辑而单独编写额外逻辑。

    38030

    我的程序员之路02:大数据实习篇

    而我,在接下来一个月一直处于无人认领的状态,大数据的实习名额也无人提及。在这段实习期最安逸的日子里,我决定自学大数据。...就这样在理想和现实之间工作了一个月。当我以为实习生涯就要在这种平平淡淡中度过的时候,人生出现了转机。...组里年轻的维小哥决定离职,我也被领导叫进了办公司,在各种鸡汤灌输加持下,我第一次勇敢的说出了”我可以“这三个字,我也开始转职成为了一名大数据维。...虽然我的维工作技术含量不高,但是因为这份工作,与组内同事的关联也密切了起来,也开始渐渐融入到这个集体中。 人生,总会有让你努力的理由,为了别人,亦或自己。...凌晨六点,新程序启动,但在运行了一个小时后,OOM内存溢出。

    36120

    我的程序员之路02:大数据实习篇

    而我,在接下来一个月一直处于无人认领的状态,大数据的实习名额也无人提及。在这段实习期最安逸的日子里,我决定自学大数据。...就这样在理想和现实之间工作了一个月。当我以为实习生涯就要在这种平平淡淡中度过的时候,人生出现了转机。...组里年轻的维小哥决定离职,我也被领导叫进了办公司,在各种鸡汤灌输加持下,我第一次勇敢的说出了”我可以“这三个字,我也开始转职成为了一名大数据维。...虽然我的维工作技术含量不高,但是因为这份工作,与组内同事的关联也密切了起来,也开始渐渐融入到这个集体中。 人生,总会有让你努力的理由,为了别人,亦或自己。...凌晨六点,新程序启动,但在运行了一个小时后,OOM内存溢出。

    29820

    一行代码实现display过渡动画原理

    并没有出现动画,非常生硬的出来了,有一些场景我又要性能,比如初始化不渲染,但是当出现又要有动画的时候,就有可能使用这行代码 test.onclick = function () {...因为我读取dom的这些特殊属性,浏览器就会强制清空渲染队列一次,让我拿到最新的值。也就是说读取的时候,其实已经是display为"block"了,因此。我们出现了过渡动画 效果如下所示: ? ?...频繁直接操作dom时候,例如for循环里面频繁操作dom,这个时候浏览器就会优化我们的操作,合并一部分操作一次性执行 渲染队列跟display的关联 test.onclick...const height = app.offsetHeight app.style.transform = "translateX(200px)" } 当我们执行了...app.style.display = "block"这行代码时候,dom节点此时并没有更新,js解析引擎是聪明的,发现你后面马上有代码要修改dom节点,会先存入队列中集中一次性操作 当我们执行了app.offsetHeight

    1.1K40
    领券