2

我正在尝试创建一个链接:

document.execCommand('createLink',false,linkVal);

为了从用户那里获取链接href值,我正在使用 jQuery UI 对话框。

因此,当我的用户在页面上选择一些文本并单击链接时,它将打开一个像这样的 jQuery UI 对话框(该对话框中包含一个表单)。

$("a#link-it").on('click',function(e){
    e.preventDefault();
    $( "#dialog-form" ).dialog( "open" );   
});

ui 拨号龙初始化代码如下:

$( "#dialog-form" ).dialog({
      autoOpen: false,
      height: 300,
      width: 350,
      modal: true,
      buttons: {
        "Create": function() {
        var linkVal=$("#link").val();
        document.execCommand('createLink',false,linkVal);
        $( this ).dialog( "close" );
        },
        Cancel: function() {
          $( this ).dialog( "close" );
        }
      },
      close: function() {
        allFields.val( "" ).removeClass( "ui-state-error" );
      }
    });

jQuery UI 对话框正在打开并正常工作,但问题是当用户单击链接打开它时,所有用户选择都会立即从浏览器窗口中删除。所以这个命令不起作用。

document.execCommand('createLink',false,linkVal); 

所以请建议我如何在打开 UI 对话框后防止擦除用户选择?

或者您是否可以建议所见即所得的编辑器链接创建工作方式?

4

1 回答 1

0

最后我使用这里给出的解决方案解决了它

看看https://code.google.com/p/rangy/

http://rangy.googlecode.com/svn/trunk/demos/saverestore.html

于 2013-05-30T23:19:11.450 回答