2010-10-21 145 views
0

我有一些表格列中有值,当你点击编辑按钮时,我正在创建一个带有列值的文本框,有点像编辑就地功能。jQuery动态生成的文本框不能正常工作

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 +箭头不突出显示字符,左右箭头键不会左右移动光标。由于某种原因,向上和向下键向左和向右移动光标。最后,在IE中,除了退格键之外,还有相同的问题,就好像它不在文本框中一样,它使浏览器返回一页。

有关为什么会发生这种情况的任何想法?

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

回答

0

发现问题,它与Fancybox本身。箭头导航由于事件监听器而被搞砸了。假设在1.3.2中被修复。

Source

1

我试着只是添加一个文本框到一个div和文本框正常工作,因为它应该。请看这里:http://jsbin.com/inapo4。它可能是与item.find()不正常工作? “item”只是一个jQuery对象吧?

+0

是的,项目只是一个表行。忘了提及所有这些都在Fancybox弹出窗口中,如果这很重要的话。 – roflwaffle 2010-10-21 15:51:17

+0

好吧,我试着用实际的表格行,它仍然适用于我。你能发布完整的代码,以便我能理解发生了什么? – ryanulit 2010-10-21 15:58:59

+0

感谢您的帮助,在问我之前应该已经Google更多。 – roflwaffle 2010-10-21 16:00:12