javascript - onclick事件在html中有效,在js中失效?
PHP中文网
PHP中文网 2017-04-11 12:07:08
[JavaScript讨论组]

按钮的onclick事件在html中有效,但是后来为了传多一个参数savePos,在js中设置点击事件,但是没有效果。为什么?

PHP中文网
PHP中文网

认证0级讲师

全部回复(7)
PHP中文网

document.getElementsByClassName('lay-btn')[0]

怪我咯

document.getElementsByClassName()返回的是多个元素的HTMLCollection,你需要去做循环

迷茫

document.getElementsByClassName("lay-btn")[0].onclick=function(){}

伊谢尔伦

getElementsByClassName得到是元素集,你需要取其中一个来添加事件。

伊谢尔伦

getElementsByClassName,请仔细看这个函数的名字,重点是这个 => Elements,这是复数形式。
所以,它返回的是什么?

大家讲道理

从题主的描述来看,这个点击事件是后来加的,然后事件没有被触发。可以从以下两个角度来考虑解决方法:

  1. 如楼上所说,确保拿到的是一个单个的元素。也就是说,我们要从得到的数组里面(...byClassName("..."))选出具体的一个元素来;

  2. 事件执行的前提是,确保事件是绑定在元素上的,也就是说,这个绑定的元素是必须要存在的。那么,就要注意等整个页面加载完毕后,我们再去用元素绑定事件。所以最后把注册事件这类的代码放到window.onload = function(){ //do something }里面。

题主可以按这个思路试一下,如果有问题,我们可以继续讨论。

伊谢尔伦

你拿到的是一个数组,应该要循环取出,然后加上去,你直接用jquery委托事件不就行啦

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号