javascript - 动态编辑元素

标签 javascript jquery html

我试图允许用户登录该网站,当他们单击特定元素时,该元素将更改为输入文本字段,然后允许用户在其中输入他们想要的任何内容。

但是,一旦我单击输入字段,它就会不断为另一个输入字段添加更多代码。这有道理吗?

这是我的 jQuery:

$('.editTagline').click(function() {
  var content = $(this).html();
  $(this).html('<input type="text" value="' +content+ '">');    
});

这是 JSFiddle:http://jsfiddle.net/nSY4Y/如果您单击单词标语,然后尝试在输入文本字段中输入文本,您将会看到问题。

最佳答案

您可以使用one(),这样每个元素只能运行一次

$('.editTagline').one('click', function () {
    var content = $(this).html();
    $(this).html('<input type="text" value="' + content + '">');
});

FIDDLE

关于javascript - 动态编辑元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22452106/

相关文章:

jquery - .on ('click tap' ) 和 .on ('click || tap' ) 之间有什么区别?

javascript - 无法使用 $.Deferred() 对象和 $.then() 中断递归

宽度小于 1% 的 HTML 表格单元格

javascript - 在 Google Sheet 脚本中调用服务器端函数后关闭 HTML 页面

javascript - 有没有办法让 HTML div 像 body 标签一样工作?

javascript - 如何在 jQuery getJSON 调用中捕获 400 响应

javascript - 等到函数完成运行另一个函数

html - 如何在媒体查询菜单中语义解决左间隙

javascript - Jquery - 第一次点击时阻止 <a> 的默认操作,第二次点击时允许默认操作

javascript - Nodejs 一个接一个地运行异步函数