是否可以在另一个 javascript 函数中 运行 一个 onclick javascript 函数?
Is it possible to run an onclick javascript function inside another javascript function?
目前正在学习 javascript 并对这种可能性感到好奇。
我在 .JS 文件中有这段代码
var x = document.createElement("IMG");
x.setAttribute("src", "helpimage.png");
x.setAttribute("width", "20");
x.setAttribute("height", "20");
x.setAttribute("alt", "help image");
x.setAttribute("id","image");
var row = document.createElement('div');
row.classList.add('row');
var label = document.createElement('div');
label.id = machineName + '-label';
label.classList.add('col-md-5');
label.innerHTML = humanName + ':';
label.appendChild(x);
label.onclick = function() {myFunction()};
row.appendChild(label);
这个名为“MyFunction”的函数
function myFunction() {
document.getElementById(machineName + '-label').innerHTML = "YOU CLICKED ME!";
}
这段代码所做的是首先调用一个函数,该函数创建一个带有标签的简单表单元素。我在标签中附上了一张标有“x”的图片。
我希望能够使用 onclick 事件单击该标签,然后将其更改为我想要的任何内容。 (只是在这里测试)
因此,一旦我的第一个函数生成了我的表单,我就想点击我的标签并将其更改为“您点击了我”。
除了我点击图片时没有任何反应。
谁能告诉我我做错了什么?
我要点击的图片。
将要替换的文本放在另一个嵌套元素中,而不是放在还包含图像的元素中。
var x = document.createElement("IMG");
x.setAttribute("src", "helpimage.png");
x.setAttribute("width", "20");
x.setAttribute("height", "20");
x.setAttribute("alt", "help image");
x.setAttribute("id", "image");
var row = document.createElement('div');
row.classList.add('row');
var label = document.createElement('div');
let machineName = "filename";
label.id = machineName + '-label';
label.classList.add('col-md-5');
let humanName = "File Name";
let text = document.createElement("span");
text.id = machineName + "-text";
text.innerHTML = humanName + ':';
label.appendChild(text);
label.appendChild(x);
label.onclick = function() {
myFunction()
};
row.appendChild(label);
document.body.appendChild(row);
function myFunction() {
document.getElementById(machineName + '-text').innerHTML = "YOU CLICKED ME!";
}
目前正在学习 javascript 并对这种可能性感到好奇。 我在 .JS 文件中有这段代码
var x = document.createElement("IMG");
x.setAttribute("src", "helpimage.png");
x.setAttribute("width", "20");
x.setAttribute("height", "20");
x.setAttribute("alt", "help image");
x.setAttribute("id","image");
var row = document.createElement('div');
row.classList.add('row');
var label = document.createElement('div');
label.id = machineName + '-label';
label.classList.add('col-md-5');
label.innerHTML = humanName + ':';
label.appendChild(x);
label.onclick = function() {myFunction()};
row.appendChild(label);
这个名为“MyFunction”的函数
function myFunction() {
document.getElementById(machineName + '-label').innerHTML = "YOU CLICKED ME!";
}
这段代码所做的是首先调用一个函数,该函数创建一个带有标签的简单表单元素。我在标签中附上了一张标有“x”的图片。 我希望能够使用 onclick 事件单击该标签,然后将其更改为我想要的任何内容。 (只是在这里测试)
因此,一旦我的第一个函数生成了我的表单,我就想点击我的标签并将其更改为“您点击了我”。
除了我点击图片时没有任何反应。
谁能告诉我我做错了什么?
我要点击的图片。
将要替换的文本放在另一个嵌套元素中,而不是放在还包含图像的元素中。
var x = document.createElement("IMG");
x.setAttribute("src", "helpimage.png");
x.setAttribute("width", "20");
x.setAttribute("height", "20");
x.setAttribute("alt", "help image");
x.setAttribute("id", "image");
var row = document.createElement('div');
row.classList.add('row');
var label = document.createElement('div');
let machineName = "filename";
label.id = machineName + '-label';
label.classList.add('col-md-5');
let humanName = "File Name";
let text = document.createElement("span");
text.id = machineName + "-text";
text.innerHTML = humanName + ':';
label.appendChild(text);
label.appendChild(x);
label.onclick = function() {
myFunction()
};
row.appendChild(label);
document.body.appendChild(row);
function myFunction() {
document.getElementById(machineName + '-text').innerHTML = "YOU CLICKED ME!";
}