我刚刚进入Jquery,我陷入了一点点错误。在我的HTML中,我生成了一些H标签和标签。这些H标签和标签都有一个on click函数,它将接受该元素,无论它是H标签还是Label,并将其传递给方法(setProperties(this))。
此方法将捕获输入字段中写入的内容并将其分配给该元素。我的错误是,在我点击2个元素后,它将变为两者中输入中的任何内容。我假设元素现在正在侦听输入字段并将文本值分配给输入字段内的内容。我很好奇我如何重新安排我的代码来制作你点击的元素。该领域将是改变的独特领域。
变量: 元素是我点击的元素,例如H标签或标签 id ChangeText是您键入的输入元素,用于更改标签或H标签值。
function inputfield(element){
$("#changeText").on("blur",function(){
$(element).text($("#changeText").val());
});
}
这是我的问题所在的Jfiddle。如果单击两个测试文本,然后更改输入的值。它会改变两者。我期待改变一个。 http://jsfiddle.net/QMsQq/5/
答案 0 :(得分:1)
将元素分配给变量。
var $elem = $('whatever');
并将其作为参数传递。而且我认为你想解雇一个元素的焦点(点击)。
此外,这里有一个非常简单的香草js例子,我认为你会得到:
希望这有助于微笑。
修改强> 好的,为你的小提琴: 您的输入语法被填充。 (缺少'>'并且你不需要'/ input') 不要在html中使用(onClick)。分开你的顾虑 - javascript进入脚本文件,而不是内联。看一下我的小提琴。虽然,从阅读你的最新帖子我不认为这是你想要的 - 我实际上对你究竟想做什么感到有点困惑......
编辑2:
试试这个:http://jsfiddle.net/w88xr/3/
我认为这就是你要找的东西。
答案 1 :(得分:1)
看来,当调用inputfield函数时,你要将onblur设置为触发。
on函数将在inputfield函数调用后持续。尝试调用“off”以从changeText中删除先前设置的事件。
function inputfield(element){
$("#changeText").off().on("blur",function(){
$(element).text($("#changeText").val());
});
}
警告:未经测试的代码。
http://jsfiddle.net/QMsQq/6/更新了您的小提示以显示我的解决方案