【发布时间】:2010-05-07 17:53:32
【问题描述】:
我知道以下代码不能正常工作。 是的,我知道如何在 jQuery 中执行此操作,但在这种情况下,我无法使用 jQuery。请不要使用 jQuery 答案。
<form>
<input type="text" name="input1" onclick="alert('hello')">
<input type="text" name="input2">
<input type="text" name="input3">
</form>
<script type="text\javascript">
window.onload = function () {
var currentOnClick;
for (var i = 0; i < document.forms[0].elements.length; i++) {
currentOnClick = document.forms[0].elements[i].onclick;
document.forms[0].elements[i].onclick = function () {
if (currentOnClick) {
currentOnClick();
}
alert("hello2");
}
}
}
</script>
我想要做的是遍历表单的元素并添加到 onclick 函数中。但由于在我的最后一次迭代中 currentOnClick 为 null ,这并没有按预期运行。我想保留每个元素的 onclick 方法并在我正在创建的新函数中播放它们。
我想要什么:
点击 input1 时,先提示“hello”,然后提示“hello2”
点击 Input2 时,提示“hello2”
点击 Input3 时,提示“hello2”
【问题讨论】:
-
你没想到的现在在做什么?
-
当点击任何输入时,它会提醒 hello2。对于 input1,我希望它保留当前的 onclick 方法并在我新创建的 onclick 方法中运行
标签: javascript html