如何使用Jquery动态更改文本

时间:2015-08-26 16:13:27

标签: jquery

如何动态更改文字。因此,当我双击文本时,它会出现在输入中,我只能清除文本并写入另一个文本。

这是我的起始代码Jsfiddle

AndroidEnvironment.UnhandledExceptionRaiser += delegate(object sender, RaiseThrowableEventArgs args){
            typeof (System.Exception).GetField("stack_trace", BindingFlags.NonPublic | BindingFlags.Instance)
                .SetValue(args.Exception, null);
            throw args.Exception;
        };

2 个答案:

答案 0 :(得分:2)

这样的事可能会对你有所帮助:



$('#main_text').dblclick(function(){
    var $elm = $(this);
    
	$elm.find("h1").replaceWith($("<input />", {
    	val: $elm.text(),
        change: function(){
            var text = $(this).val();
            
        	$elm.html($("<h1 />", {
            	text: text
            }));
        }
    }));
    
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="main_text">
    <h1>Change Text</h1>
</div>
&#13;
&#13;
&#13;

工作示例:http://jsfiddle.net/006853mL/1/

答案 1 :(得分:1)

这应该可以解决问题:

编辑:我添加了一个keylistener。如果按Enter键,它将应用更改。

&#13;
&#13;
$('#main_text').dblclick(function() {
  var currentText = $(this).children('h1').text();
  $(this).children('h1').replaceWith('<input class="change" type="text" value="' + currentText + '"/>');
  $('.change').keyup(function(e) {
    if (e.keyCode == 13) {
      var currentText = $('.change').val();
      $(this).replaceWith('<h1>' + currentText + '</h1>');
    }
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="main_text">
  <h1>Change Text</h1>
</div>
&#13;
&#13;
&#13;