检查DOM元素是否可拖动并设置为等于JavaScript变量?

检查DOM元素是否可拖动并设置为等于JavaScript变量?,javascript,jquery,button,Javascript,Jquery,Button,通过jQuery创建等于DOM元素“可拖动”状态的JavaScript变量的最有效方法是什么 我尝试了以下方法: $(document).ready(function() { $('#editButton').click(function() { var isDraggable = $('.tile').draggable('option', 'disabled'); if(isDraggable == "true") {

通过jQuery创建等于DOM元素“可拖动”状态的JavaScript变量的最有效方法是什么

我尝试了以下方法:

$(document).ready(function() {
    $('#editButton').click(function() {
        var isDraggable = $('.tile').draggable('option', 'disabled');
        if(isDraggable == "true")
        {
            $(function() {
                $('.tile').draggable({
                    containment: '#content',
                    scroll: false
                });
                $('.tile').resizable({
                    maxHeight: 200,
                    maxWidth: 200,
                    minHeight: 100,
                    minWidth: 100
                });
            })
        }
    })
});
我没有得到任何语法错误或任何东西,但功能不存在

以下是附带的HTML:

<div id="content">
        <div id="navBar">
            <input type="button" id="editButton" value="Edit" />
        </div>
        <ul>
            <li>
                <div id ="google" class="tile">
                    <img src="images/tiles/google/google.png" class="tile_image" width="27" height="41" />
                    <p>Google</p>
                </div>
            </li>
            <li>
                <div id="yahoo" class="tile">
                    <p>Yahoo</p>
                </div>
            </li>
            <li>
                <div id="thelockpeople" class="tile">
                    <p>The Lock People</p>
                </div>
            </li>
            <li>
                <div id="amazon" class="tile">
                    <p>Amazon</p>
                </div>
            </li>
            <li>
                <div id="masterlock" class="tile">
                    <p>Masterlock</p>
                </div>
            </li>
            <li>
                <div id="hpionline" class="tile">
                    <p>Hpionline</p>
                </div>
            </li>
            <li>
                <div id="youtube" class="tile">
                    <p>YouTube</p>
                </div>
            </li>
            <li>
                <div id="kitco" class="tile">
                    <p>Kitco</p>
                </div>
            </li>
            <li>
                <div id="usatoday" class="tile">
                    <p>USA Today</p>
                </div>
            </li>
            <li>
                <div id="gamefly" class="tile">
                    <p>GameFly</p>
                </div>
            </li>
        </ul>
</div>

  • 谷歌

  • 雅虎

  • 锁匠

  • 亚马逊

  • 万能锁

  • Hpionline

  • YouTube

  • 基特科

  • 今日美国

  • 果蝇


我做错了什么?

要让它正常工作,只需替换上面的行:

if(isDraggable == "true")
与:


原因是
isDraggable
是一个对象,如果它存在(即“.title”div worked上的“draggable”方法),那么它将为true(存在且非零),但它将不等于
1
,这是
true
的数值,因此,您的原始测试失败,并且您从未调用该函数。

谢谢Neil!还有,如果我想检查它是否为“假”呢?我知道我可以用别的,但我只是想知道。嗨,要检查“false”,只需说“if(!isDraggable)再次感谢!我也很感激你为你的帖子添加更多的解释。另外,我会在可拖动元素上设置CSS属性“{cursor:'move'}”,以直观地指示它们是可拖动的。$('.tile').CSS({cursor move'}).draggable('option','disabled');
if (isDraggable)