Javascript 图像onClick不工作

Javascript 图像onClick不工作,javascript,html,css,Javascript,Html,Css,我的问题有两部分。 1.我的onclick事件不起作用。 2.我想通过为用户提供一个文本框来更改中的文本来更改中的文本 让我向您展示我的代码,以便更好地理解这一点 HTML: JAVASCRIPT: function changetext(e){ alert("hi"); txtarea = document.getElementById('desc'); } 回到问题上来 由于某些原因,JavaScript函数警报没有执行,这意味着我的函数没有被触发 我希望用户能够编辑

我的问题有两部分。 1.我的onclick事件不起作用。 2.我想通过为用户提供一个文本框来更改中的文本来更改中的文本

让我向您展示我的代码,以便更好地理解这一点

HTML:

JAVASCRIPT:

function changetext(e){       
  alert("hi");
  txtarea = document.getElementById('desc');
}
回到问题上来

由于某些原因,JavaScript函数警报没有执行,这意味着我的函数没有被触发

我希望用户能够编辑文本中的文本。我的意思是,当用户单击图像时,她/他应该会得到一个文本框,允许她/他修改图像的文本内容。是否可以只使用JavaScript来实现这一点。如果是,如何进行


第一个问题不是问题,因为您在onLoad中使用的是JSFiddle with wrap脚本,这意味着该函数只存在于onLoad事件中,对click事件不可用

,其中代码保持原始状态


你几乎可以用JavaScript做任何事情。接受用户输入什么都不是。最简单的是,它只是var userinput=promptype something,默认值;,但是你真的想学习一些东西,比如document.createElement、Element.appendChild等等,以便创建一个textarea元素并将其显示给用户。

如果我在onLoad中更改JS函数如下,你的小提琴对我有用:

检查

要编辑div中的内容,请使用innerHTML


首先,id必须是唯一的,否则就没有简单的方法在fiddle中获得第二个id为desc的元素。请查看此url以使div的可编辑:嗯。谢谢你能告诉我一个可以帮助我的资源或教程吗?@AnaMaria学习的好地方。我会接受这个答案,因为我找到了问题第二部分的解决方案…@AnaMaria解释了你的问题。ID应该是唯一的,所以在这两种情况下都将其更改为class=desc。
div.img{
  width:250px;
  border: 1px solid #0000ff;
  height: auto;
  float:left;
  background-color:#474747;
  color:#fff;
}
function changetext(e){       
  alert("hi");
  txtarea = document.getElementById('desc');
}
changetext = function (e) {
    alert("hi");
    var txtarea = document.getElementById('desc');
}
 document.getElementById('desc').innerHTML = "content changed";