【问题标题】:jQuery draggable widget not firing drag eventjQuery可拖动小部件不触发拖动事件
【发布时间】:2014-02-20 18:20:12
【问题描述】:

我有一个简单的问题,或者看起来,jQuery UI 的可拖动小部件。可拖动小部件有一个拖动事件,只要鼠标在页面上拖动可拖动元素,就会触发该事件。很简单,不是吗?此代码不起作用。

<html>
<head>
    <script type="text/javascript">
        $(document).ready(function(){
            $('.draggable').draggable({
                drag:function(){
                    alert(1); // simple alert, nothing happens
                }
            });
        });
    </script>
</head>
<body>
    <div class="draggable">drag me</div>
</body>
</html>

关于为什么这不会触发的任何想法?我正在使用:

  • jquery-1.9.1.min.js
  • jquery-ui-1.10.3

http://api.jqueryui.com/draggable/#event-drag

【问题讨论】:

  • 如果您想捕捉阻力,请尝试启动/停止功能。
  • 您是否尝试将参数放入回调函数中,就像在 API 中一样?不要认为它会有所作为,但你永远不知道。
  • 您是否遇到任何 javascript 问题?在 firebug 控制台中检查
  • 它应该可以工作。你能把所有的代码都过去吗?

标签: javascript jquery jquery-ui


【解决方案1】:

这对我来说是一个非常糟糕的错误。谷歌浏览器允许我检查“不要让这个页面再次提醒我”选项。我一定检查过一次。但是在页面的所有后续重新加载中,该设置被保留。直到今天早上,它才再次起作用。这是一个好帖子,虽然有点傻,但它会对某人有所帮助。至少对于我们开发人员来说,应该在某个地方对此进行某种通知。

我认为这个选项是每个请求的,但它是每个会话的。

【讨论】:

  • 哈!我以前也被那个咬过。这个故事所讲的道德?除非您真的必须使用警报,否则请使用 console.logs。
【解决方案2】:

我看不出有什么问题,除非你在某个地方犯了其他错误。您的代码工作正常。见小提琴:http://jsfiddle.net/525Js/

我已将您的 HTML 代码进行了必要的修改:

HTML 面板:

<div class="draggable">drag me</div>

JS 面板:

    $(document).ready(function(){
        $('.draggable').draggable({
            drag:function(){
                alert(1); // simple alert, nothing happens
            }
        });
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 2011-04-02
    • 2020-01-14
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多