使用focusin()和click()时出现问题

时间:2013-02-01 18:02:39

标签: jquery

我想要实现的是

  1. 文本字段按Tab键中的用户类型或单击下一个文本字段导致删除输入标记,替换为显示从文本字段读取的值(WORKS)

    2.用户点击此文本会导致进入编辑模式(文本框显示值可编辑或替换)(工作)

  2. 用户点击下一个文本字段或按Tab键导致执行step1等等(DOESNT WORK!)

         $(document).ready(function(){
    
         $("input#aoneonedata").focusout(function(){
         $(this).remove();
        var aoneone=parseInt($(this).val())||0;
        $(this).remove();
         $("#aoneone").append("<div id='a11'>"+aoneone+"x</div>");
    
          $("#a11").click(function(){
          $(this).remove();
        $("#aoneone").append("<input type='text'
        id='aoneonedata' value="+aoneone+">");
          });
    
    
    
          });
    
    
          });
    
         <table>
          <tr>
          <td id="aoneone"><input type="text" id="aoneonedata"></td>
          <td id="aonetwo"><input type="text" id="aonetwodata"></td>
           </tr>
           </table>
    

1 个答案:

答案 0 :(得分:1)

这就是因为当您删除输入时丢失了focusout绑定。

请参阅this小提琴。

如果在编辑时严格需要删除输入,请在重新创建后尝试将该功能重新设置为focusout。但是,如果您不想为每个值更改重新设置focusout绑定,则可以执行this之类的操作。

希望这有帮助。