【发布时间】:2012-05-22 00:42:04
【问题描述】:
我有由 AJAX 更新的 jeditable 字段,因此我将 .live() 与 Jeditable 结合使用,以便能够在 AJAX 更新后持久绑定 jeditable 字段。但是,通过使用 live() 它会抑制第一次“点击”,而第二次点击使该字段可编辑。
有趣(也许是解决方案的关键)是,如果我使用 'this' 作为参考,那么每个单独的 jedtxt 类字段的第一次点击都会被抑制(即需要点击两次才能进入字段一个 jedtxt 然后再次两次进入字段 B jedtxt 的编辑),但是如果我使用类名 '.jedtxt' 第一次点击只会被抑制一次(需要点击 2 次才能进入字段 A,但是在该字段 B 可以通过单击输入之后 - 似乎“记住”了整个班级的第一次点击。
使用 $(this) 抑制第一次点击每次点击 jedtxt 类元素:
$('.jedtxt').live('click', function() {
$(this).editable('/post/somewhere',{ // note use of $(this)
'submit': 'OK',});});
使用 $('.jedtxt') 禁止第一次点击仅第一次点击 jedtxt 类:
$('.jedtxt').live('click', function() {
$('.jedtxt').editable('/post/somewhere',{ // note use of $('.jedtxt')
'submit': 'OK',});});
而jedtxt元素是这样的:
<div id="ni-50" name="ni-50" class="jedtxt">somevalue to edit</div>
虽然第二种情况稍好一些,但我仍在寻找点击编辑以直接在第一次点击时工作。注意我尝试了双击或其他事件触发器,问题是一样的。这是一个普通的测试页面,没有其他事件链接到 div 元素。
在此先感谢您提供任何帮助。
【问题讨论】:
标签: javascript jquery jeditable jquery-click-event