为啥onchange事件触发不了?求高手指教

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥onchange事件触发不了?求高手指教相关的知识,希望对你有一定的参考价值。

<html>
<script>
function change1()

var game =document.getElementById("game").value="pic0.jpg";
document.getElementById("game").value="pic1.jpg";
document.getElementById("game").value="pic2.jpg";
document.getElementById("game").value="pic3.jpg";
document.getElementById("game").value="pic4.jpg";

</script>
<body>
<div align="center">
<select id="game" name="test" onchange="change1()">
<option value="pic0.jpg" selected>--请选择--</option>
   <option value="pic1.jpg">大海战2</option>
   <option value="pic2.jpg">大话西游</option>
   <option value="pic3.jpg">热血江湖</option>
<option value="pic4.jpg">大航海时代</option>
</select>
</div>
<p input id="game" type="image" align="center"><img src="pic0.jpg" width="800" height="600" ></p>
<p input id="game" type="image" align="center"><img src="pic1.jpg" width="800" height="600" ></p>
<p input id="game" type="image" align="center"><img src="pic2.jpg" width="800" height="600" ></p>
<p input id="game" type="image" align="center"><img src="pic3.jpg" width="800" height="600" ></p>
<p input id="game" type="image" align="center"><img src="pic4.jpg" width="800" height="600" ></p>
</body>
</html>

同学document.getElementById这个方法必须是取得对应id值的那个节点,所以id必须唯一,明白吗。你的所有id都取名为game,这怎么可以。你把它们名字取为不同的值就应该没问题了。另外,应该是src属性而不是value值,所以应该是document.getElementById("id名称").src="图片路径" 注意一下图片的路径看是否对着。 参考技术A <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script>
function change1()

document.getElementById("game").src= document.getElementById("gameselect").value;

</script>
</head>
<body>
<div align="center">
<select id="gameselect" name="test" onchange="change1()">
<option value="pic0.jpg" selected>--请选择--</option>
   <option value="pic1.jpg">大海战2</option>
   <option value="pic2.jpg">大话西游</option>
   <option value="pic3.jpg">热血江湖</option>
<option value="pic4.jpg">大航海时代</option>
</select>
</div>
<img id="game" src="pic0.jpg" width="800" height="600" >
</body>
</html>

是不是要这个效果?
你页面里面都两个 id="game" document.getElementById("game") 找的是那个呢?本回答被提问者采纳

React 触发虚拟 DOM 输入的 onChange 事件与常规 DOM 中的输入不同。为啥是这样?

【中文标题】React 触发虚拟 DOM 输入的 onChange 事件与常规 DOM 中的输入不同。为啥是这样?【英文标题】:React triggers onChange events for virtual DOM inputs differently than inputs in the regular DOM. Why is this?React 触发虚拟 DOM 输入的 onChange 事件与常规 DOM 中的输入不同。为什么是这样? 【发布时间】:2016-12-23 02:31:47 【问题描述】:

在虚拟 DOM 中,每次输入内容发生变化时都会触发 onChange。在常规 DOM 中,onChange 仅在输入元素模糊时触发。

link to GIF illustrating the behavior

示例项目:

source code for the above demo

为什么 React 会为虚拟 DOM 元素触发不同的 onChange 事件?

【问题讨论】:

你的意思是问如何这是这样实现的吗?或者为什么为什么将归结为受控字段的必要性以及它们如何以反应的方式工作;也就是说,当您通过键入来更新受控字段时,react 需要更新表示该字段值的状态变量。只有在每次更改字段值时都触发更改时才能执行此操作。 哦,是的,我问“这是为什么?”在问题标题中。啊,有道理。谢谢@LiamEgan 可以否决投票者请发表评论解释?谢谢! 【参考方案1】:

React DOM 故意偏离并在每次更改时触发 onChange,因为这几乎总是你想要的。这在此处的文档中有所描述:Forms。

【讨论】:

以上是关于为啥onchange事件触发不了?求高手指教的主要内容,如果未能解决你的问题,请参考以下文章

xampp怎么删都删不了 360强力卸载也不行啊 c,d,e盘都装了 求高手指教啊

为啥prop()不会触发带有jquery的收音机的onchange事件[重复]

React 触发虚拟 DOM 输入的 onChange 事件与常规 DOM 中的输入不同。为啥是这样?

跪请高手指教----- C# 页面按钮点击以后不触发后台事件,一般是啥原因?

怎么触发combobox中onChange事件

为啥进不了for循环,得到的结果总是0? 求大神指教啊!!