代码之家  ›  专栏  ›  技术社区  ›  roflwaffle

jquery动态生成的文本框运行不正确

  •  0
  • roflwaffle  · 技术社区  · 14 年前

    我有包含值的表列,当您单击编辑按钮时,我正在创建一个包含列值的文本框,有点像就地编辑功能。

    var title = item.find('.co_edit_title').html("<input type='text' style='width:240px' name='title' value='" + item.find('.co_edit_title').text() + "' />");
    

    工作正常,输入框显示所提供的值。问题是,在FF、Chrome和Safari中,文本框的行为与正常情况不同。退格键工作正常,但普通键盘功能不正常。

    例如,SHIFT+ARROW不突出显示字符,左右箭头键不左右移动光标。上下键出于某种原因左右移动光标。最后,在IE中,除了退格键(充当文本框中不存在的键)外,还有这些相同的问题,它使浏览器返回一个页面。

    有没有想过为什么会这样?

    编辑:之前应该指出这一点,但所有这些都发生在FancyBox弹出窗口中,该弹出窗口显示已经在页面上的内联内容。唯一的动态部分是用文本框替换列值。

    2 回复  |  直到 14 年前
        1
  •  1
  •   ryanulit    14 年前

    我尝试将一个文本框添加到一个DIV中,该文本框正常工作。你自己看看这里: http://jsbin.com/inapo4 . 它是否与item.find()一起工作不正常?“item”只是一个jquery对象,对吗?

        2
  •  0
  •   roflwaffle    14 年前

    发现了问题,是FancyBox本身的问题。由于事件侦听器,箭头导航被搞砸了。应在1.3.2中固定。

    Source