应用于相同元素类型的多个实例的 onclick 函数
Onclick function applied to multiple instances of same element type
Javascript新来的。
我正在尝试练习 Javascript,并希望按照本例中所做的内容重新创建一些东西:
Change Button color onClick
但是,我希望将此操作应用于多个 "buttons"(输入),以便在单击单个按钮时,该按钮和该按钮单独改变颜色。
我以我认为可以容纳多个按钮的方式重新创建了上面的示例,但是单击其中任何一个只会更改第一个按钮的颜色。
非常感谢 如果有人可以 explain/give 一些按钮独立运行的示例。
通过快速查看该示例,您应该能够通过执行此操作来更改任何给定按钮的颜色
<input type="button" id="button1" value = "button" style= "color:white" onclick="setColor('button1', '#101010')";/>
<input type="button" id="button2" value = "button" style= "color:white" onclick="setColor('button2', '#101010')";/>
设置颜色有两个参数,第一个是按钮 ID。所以我们将每个按钮的唯一 ID 传递给函数。在这种情况下 button1 和 button2
您需要在 javascript 中使用 this
语句。这将更改实际单击的元素的 属性。
这是一个例子:
var main = function () {
$('.button').click(function() {
$(this).css('background-color' : 'red');
});
};
这会起作用:
- 很好地分离关注点(您应该避免将 javascript 代码与 html 混合)
- 不使用外部库(例如 jQuery)
<html>
<head>
<script>
function init() {
var buttons = document.querySelectorAll('input[type=button]');
[].forEach.call(buttons, function(button) {
button.addEventListener('click', function(e) {
e.target.style.backgroundColor = e.target.getAttribute('data-color');
});
});
}
</script>
</head>
<body onload="init()">
<input type="button" value="button" style="color:white" data-color="#101010" />
<input type="button" value="button" style="color:white" data-color="#bada55" />
<input type="button" value="button" style="color:white" data-color="#400400" />
</body>
</html>
Javascript新来的。
我正在尝试练习 Javascript,并希望按照本例中所做的内容重新创建一些东西: Change Button color onClick
但是,我希望将此操作应用于多个 "buttons"(输入),以便在单击单个按钮时,该按钮和该按钮单独改变颜色。
我以我认为可以容纳多个按钮的方式重新创建了上面的示例,但是单击其中任何一个只会更改第一个按钮的颜色。
非常感谢 如果有人可以 explain/give 一些按钮独立运行的示例。
通过快速查看该示例,您应该能够通过执行此操作来更改任何给定按钮的颜色
<input type="button" id="button1" value = "button" style= "color:white" onclick="setColor('button1', '#101010')";/>
<input type="button" id="button2" value = "button" style= "color:white" onclick="setColor('button2', '#101010')";/>
设置颜色有两个参数,第一个是按钮 ID。所以我们将每个按钮的唯一 ID 传递给函数。在这种情况下 button1 和 button2
您需要在 javascript 中使用 this
语句。这将更改实际单击的元素的 属性。
这是一个例子:
var main = function () {
$('.button').click(function() {
$(this).css('background-color' : 'red');
});
};
这会起作用:
- 很好地分离关注点(您应该避免将 javascript 代码与 html 混合)
- 不使用外部库(例如 jQuery)
<html>
<head>
<script>
function init() {
var buttons = document.querySelectorAll('input[type=button]');
[].forEach.call(buttons, function(button) {
button.addEventListener('click', function(e) {
e.target.style.backgroundColor = e.target.getAttribute('data-color');
});
});
}
</script>
</head>
<body onload="init()">
<input type="button" value="button" style="color:white" data-color="#101010" />
<input type="button" value="button" style="color:white" data-color="#bada55" />
<input type="button" value="button" style="color:white" data-color="#400400" />
</body>
</html>