1

私はいくつかのdivを持っていて、それにサイズ変更可能でドラッグ可能なメソッドを適用しました。しかし、selectableメソッドを適用すると、「ui-selected」がDIVのクラスに出力されません。

plsはこの問題の回避策を提案します。

以下はコードです:-

<script src="jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="jquery-ui-1.8.20.custom.min.js" type="text/javascript"></script>
<link href="development-bundle/themes/base/jquery.ui.resizable.css" rel="stylesheet" type="text/css" />
<link href="development-bundle/themes/base/jquery.ui.theme.css" rel="stylesheet" type="text/css" />

<style type="text/css">
    .dragClass {
            font-family: Tahoma, sans;
            color: black;
            background: orange;
            border: 1px solid orange;
            width: 10em;
            height:auto;
            padding: 0.5em;
        }

    textarea {
            font-family: inherit;
            color: inherit;
            background: transparent;
            border: 0;
            width: 100%;
            height: 100%;
            resize: none;
        }
</style>

<script type="text/javascript" language="javascript">
    $(function () {
        $(".dragImgClass").draggable({ delay: 100, containment: "#ParentDIV", scroll: false });
        $(".dragClass").draggable({ delay: 100, containment: "#ParentDIV", scroll: false });
        $(".dragClass").resizable();
        $(".dragClass").selectable();

        $(".dragClass").on("click", function (event) {
            // Don't do anything if already editing                
            if ($(this).find("textarea").length) return;

            var $this = $(this); //get current obj.

            // Replace paragraph with textarea
            var $p = $this.find("p");
            var $txtar = $('<textarea/>').val($p.text());
            $p.replaceWith($txtar);
            $txtar.focus();                
        });

        $(".dragClass").on("blur", "textarea", function () {
            // Replace textarea with paragraph
            var $txtar = $(this);
            var $p = $('<p/>').text($txtar.val());
            $txtar.replaceWith($p);
        });

    });  //End of DOM Ready

    function getHTML() {
        var dv = $('#ParentDIV');
        var dvCont = $('#dvHtml');
        dvCont.css('border','2px solid red').text(dv.html());
    }

</script>

以下はHTMLコンテンツです:-

<input id="Btn1" type="button" onclick="getHTML();" value="Extract HTML" />
<div id="dvHtml"></div>
<br /><br />
   <div id="ParentDIV" style="margin-left:200px; width:800px; height:500px; background:lightgray;">                    
       <div class="dragClass"><p>Drag me around!</p></div>
       <br /><br />
       <div class="dragClass"><p>Drag me around! also</p></div>        
       <br /><br />
       <img class="dragImgClass" src="logo3.JPG" />
       <br /><br />
       <img class="dragImgClass" src="logo4.JPG" />        
   </div>

これが私の問題のjsFiddleです

4

1 に答える 1

1

私はあなたのSelectabledivがfirebug "dragClass ui-draggable ui-resizable ui-selectable"/IE開発者ツールまたは他のツールでそれを検査するような適切なcssを放出することをfirebugで見ることができますここにあなたの問題へのjsfiddleがあります私はfirebugでdivに明確に適用されるselectableクラスを見ることができます。

編集

ドラッグ可能でサイズ変更可能を無効にするには、次のように実行できます

$('.dragclass').draggable( 'disable' );
$('.dragclass').resizable( 'disable' );
于 2012-06-06T08:21:51.040 に答える