<td><input type="button" name="btnOne" id="btnOne" value="5.50" onclick="setText5()" /></td>
<td><input type="button" name="btnTwo" id="btnTwo" value="1.00" onclick="setText1()" /><!--<a href="#">£ 1.00/a>--></td>
<script>
window.onload = function() {
document.getElementById('btnOne').addEventListener('click', function(){
document.getElementById('textbox1').value = document.getElementById('textbox1').value + document.getElementById('btnOne').value;
});
}
window.onload = function() {
document.getElementById('btnOne').addEventListener('click', function(){
document.getElementById('textbox1').value = document.getElementById('textbox1').value + document.getElementById('btnOne').value;
});
}
</script>
0
A
回答
0
尝试在btnOne
使用.innerHTML
和改变input
标签button
标签,并把两个事件监听器在一个window.onload
和没有onclick
,因为你已经有事件监听器。在这里:
<div id="textbox1"></div>
<td>
<button name="btnOne" id="btnOne">0.05</button>
</td>
<td>
<button name="btnTwo" id="btnTwo">1.00</button>
<!--<a href="#">£ 1.00/a>--></td>
<script>
window.onload = function() {
document.getElementById('btnOne').addEventListener('click', function() {
document.getElementById('textbox1').innerHTML = document.getElementById('textbox1').innerHTML + document.getElementById('btnOne').innerHTML;
});
document.getElementById('btnTwo').addEventListener('click', function() {
document.getElementById('textbox1').innerHTML = document.getElementById('textbox1').innerHTML + document.getElementById('btnTwo').innerHTML;
});
}
</script>
1
的按钮添加事件侦听器,ID为 “btnTwo”。并且不要使用onclick,因为您已经为click事件添加了事件侦听器。
下面是相同的代码片段:
<td><input type="button" name="btnOne" id="btnOne" value="5.50" /></td>
<td><input type="button" name="btnTwo" id="btnTwo" value="1.00" /><!--<a href="#">£ 1.00/a>--></td>
<script>
window.onload = function() {
document.getElementById('btnOne').addEventListener('click', function() {
document.getElementById('textbox1').value = document.getElementById('textbox1').value + document.getElementById('btnOne').value;
});
document.getElementById('btnTwo').addEventListener('click', function() {
document.getElementById('textbox2').value = document.getElementById('textbox2').value + document.getElementById('btnTwo').value;
});
}
</script>
0
如果你需要相同的事件监听器添加到所有的按钮,然后
的document.getElementById( 'btnOne')
时您尝试选择这样的元素,您将从dom树中获得具有此类id的第一个元素,并停止搜索,您可以使用
document.getElementsByClassName('className')
方法,但!您将获得一组元素,addEventListener
允许您将一个处理程序添加到一个元素,因此您需要循环为所有按钮添加处理程序。
你可以写类似
var buttonsArr = document.getElementsByClassName('className');
for(var i = 0; i < buttonsArr.length; i++){
[i].addEventListener('click', function(){
//do something here
});
}
0
因此,这里是你如何能进行的扫描做到这一点。这个例子假设你所有的按钮都被用来为给定的文本框添加值。但是,您可以简单地调整查询选择器以满足您的需求。
function addValue(e){
var tb = document.querySelector("#textbox1"),
val = e.target.getAttribute('value'),
tbVal = tb.value;
tb.value = parseInt(tbVal) + parseInt(val);
}
var btn = document.querySelectorAll("input[type=button]")
for(var i = 0; i < btn.length; i++){
btn[i].addEventListener("click", addValue);
}
快速的解释:
1)document.querySelectorAll可以让你获得一个给定的选择器匹配的所有元素。选择器像CSS规则一样工作。欲了解更多信息,你可能想要问谷歌。
2)事件调用的函数接收事件对象作为参数。一个事件包含一个指向触发事件的元素的目标元素。
3)element.getAttribute(“value”)允许您获取元素的任何属性。你可以设置一个名为bollocs的属性,你仍然可以检索它的值!
相关问题
- 1. 我每次按下按钮时如何更改textView的文本?
- 2. 当按下一个键时,多次按下不同的按键?
- 3. 每次单击按钮时更改多个单选按钮文本:android
- 4. 按钮每次按下更改标题
- 5. 当我每次按下键入值时获取文本框的值
- 6. 按钮矩阵/多按钮+功能为每一个
- 7. 每按一次按钮,我想在两个功能之间切换
- 8. 设置每次按下按钮时可见的编辑文本
- 9. 如何在每次点击按钮时更改按钮的文本值?
- 10. 每次点击一个按钮时的多种功能
- 11. java脚本按钮,当你按下按钮时改变图像
- 12. 按下按钮时的运行功能
- 13. 这里我想在文本框中添加按钮值
- 14. 当按下按钮时,文本框会聚焦在按钮上?
- 15. Tkinter标签文本随每个按钮按下更改
- 16. 当我按下ESCAPE键时,我无法访问KeyPressed功能
- 17. 如何在文本框清除按钮被按下时显示我的按钮?
- 18. 第二个功能按下按钮
- 19. 按钮无法按两次
- 20. 按下按钮时改变点火率
- 21. (xcode)我想长时间按一下按钮,导致键盘弹出
- 22. 当我按下按钮时,如何更改JTextArea中的文本?
- 23. 我想在每次点击按钮时更改图像
- 24. 第一次按下时UIImage按钮的改变不正确
- 25. 按下按钮时改变按钮的颜色
- 26. Aurelia.js按下按钮时更改文本值
- 27. 每次按下循环输出按钮
- 28. $ count ++每次按下提交按钮
- 29. button.value不改变按钮的文本值
- 30. 当我点击按钮时,为什么不改变文本框的值?
你的代码使用了2次相同的id'btnOne' – Weedoze