javascript 点击按钮触发事件

发布网友 发布时间:2022-04-22 08:46

我来回答

5个回答

懂视网 时间:2022-04-20 09:23

回复内容:

合理猜测:给onclick赋值的内部操作时,remove掉原来的,add上新的。 路过
不同浏览器不一定是这个结果
底层代码肯定不是JS

仅趴了机器上几年前最老的blink代码看了下
EventListenerMap 里靠的是 EventListenerVector
这玩意就是个 Vector
typedef Vector
这么搞的

onclick setting 时候是 vector->find 后没有对应 handle
再 append 进去的
再次 setting 时是 find 有
就先 remove 老的再 append
没见 Vector 有用到(定义过) replace 方法

所以(在这么实现的浏览器上)才有这种现象

最终还是轮子哥猜对了。 这个ff和chrome/safari行为是不一致的(edge未测试)。按照现在的规范(https://html.spec.whatwg.org/multipage/webappapis.html#event-handler-attributes:event-handlers-12),blink/webkit的行为是错误的。



嗯,恭喜轮子猜对了一个错误的实现。 js就是猜的人多,而不去看源码或规范,所以有一堆误导大众的文章 订阅者模式,内部应该是通过一个列表来维护事件响应的,所以每次为OnClick赋值的时候会替换原来的事件委托。 你这是毛病得改,对未在需求文档中定义的行为不要妄加猜测,因为说不定哪天就改了呢。

这个可能是listener和onclick一个是列表,一个是属性,属性赋值自然覆盖。先执行属性,再执行列表。

当然也可以有其它和实现,那表现就不一样了,你依赖这种调用顺序是错误的,我完全可以所有listener并发,符合需求,却让你的程序出bug,你这就是作死,不要学习那些上古遗留的糟粕 属性,setter方法,去掉旧的,加上新的……你懂了吧,我猜的 跟所谓的主线程队列里面加入子线程是不是一个道理(疑惑 轮子哥猜中了。就是队列,出了重新进,就从队尾到队头了

热心网友 时间:2022-04-20 06:31

使用onclick()点击事件触发。

1、设计一个功能页面,HTML代码如下。

2、此时的页面展示效果如下。

3、设计功能函数,实现上图中赋值的功能。

4、给按钮绑定上述函数,点击实现。

5、在页面上点击函数,查看执行效果。

扩展资料:

onclick事件解析:

1、定义和用法:onclick 属性由元素上的鼠标点击触发。

onclick 属性不适用以下元素:<base>、<bdo>、<br>、<head>、<html>、<iframe>、<meta>、<param>、<script>、<style> 或 <title>。

2、语法:

<element onclick="script">。

参考资料:

百度百科--onclick

热心网友 时间:2022-04-20 07:49

最好不要这样做。。如果我碰到这种网站果断不会注册。。

热心网友 时间:2022-04-20 09:24

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<script>
function butOnclick()
{//按钮点击事件
window.location.href=“广告页面地址”;
}
</script>
<input type="button" name="button" value="点击" onclick="javascript:butOnclick();"/>
</body>
</html>

热心网友 时间:2022-04-20 11:15

建一个遮罩层

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com