7

我已经玩 jeditable 2 天了,这很棒!

但是我遇到了一个小问题,我有一个应该可以编辑的链接,但是每当该字段变为可编辑时,我就无法编辑该字段,当我单击时,它会直接跳转到该链接。

有什么解决办法吗?

这是我的代码

<a href="$homeurl/$hashkey" class="editsubject" id="$hashkey">$subject</a><span class="edittrigger" style="cursor:pointer;background:#EEEEEE;">edit</span>


$(document).ready(function() {
             $('.editsubject').editable('editsubject.php', {  
                    event : 'editclick',
                    cancel : 'Cancel',
                    submit : 'OK',
                    indicator : 'Wait...',
                    id : 'hk',
                    name : 'ns',
                    css : 'inherit'
             });
            $('.edittrigger').bind('click', function() {
                $(this).prev().trigger('editclick');
            });
         });

谢谢

4

3 回答 3

7

jEditable 问题,这里有一个解决方法

我会使用隐藏跨度,然后让它替换提交时链接的文本,当您单击触发器时,使链接不可见并显示隐藏跨度

<script type='text/javascript'>
$(document).ready(function() {
    $('.proxyedit').editable('editsubject.php', {  
        event : 'editclick',
        cancel : 'Cancel',
        submit : 'OK',
        indicator : 'Wait...',
        id : 'hk',
        name : 'ns',
        css : 'inherit',
        callback : function(value, settings) {
            $(this).css({'display':'none'});
            $('.editsubject').text($(this).text()).css({'display':'inline'});
        }

    });
    $('.edittrigger').bind('click', function() {
        $(this).prev().trigger('editclick');
        $('.proxyedit').css({'display':'inline'});
        $('.editsubject').css({'display':'none'});
    });
});
</script>

在身体里

<a href="$homeurl/$hashkey" class="editsubject" id="$hashkey">$subject</a><span style="display:none;" class="proxyedit">$subject</span><span class="edittrigger" style="cursor:pointer;background:#EEEEEE;">edit</span>
于 2010-06-18T21:19:04.867 回答
2

如果链接包含表单,请使用 javascript 禁用链接。任务完成:

$(document).ready(function() {
  $('a.my-editable-link').click(function() {
    form = $(this).find('form');
    if (form.length) {
      form.submit();
      return false;
    } else {
      return true;
    }
  }
})
于 2011-06-29T10:54:37.060 回答
1

您可以禁用可使用 jQuery 编辑的链接。就像是:

$(".editable a").bind("click", function(event) {
    return false;
});
于 2012-05-31T13:27:18.210 回答