0

我正在使用 jQuery 创建一个面向窗口的操作系统式应用程序。单击一个窗口时,它会将自身附加到父元素,在视觉上将其放置在任何其他窗口的顶部。但是,如果窗口内有一个按钮,它不会让我单击它,直到将窗口附加到父元素之后,这意味着我必须再次单击它。有谁知道为什么?

这是我的网站: http: //faithserve.com/jOS/v2/

在网站上,单击测试按钮应该可以console.log("test")

代码相当复杂,但附加脚本基本上是这样的:

$(this.element).on("mousedown",function(e){
  thisWindow.app.menubar.display();
  if (!$(thisWindow.element).is(':last-child')) {
    $("#desktop").append(thisWindow.element);
  }
});

编辑

由于上面指向我网站的链接将来可能会被修复或关闭,这里有一个演示问题的小提琴:http: //jsfiddle.net/QhZr6/1/

4

1 回答 1

0

嗨,这可能不是最优雅的解决方案,但您可以尝试以下方法:

$("button").on("click", function () {
    $("#message").html($("#message").html() + $(this).attr("id"));
});

$(".win").on("mousedown", function () {
    var $this = $(this);
    setTimeout(function () {
        $("#con").append($this);
    }, 100);
});

编辑: 建议您使用.on("click", function() {...} )将事件处理程序绑定到对象

在这里更新了 jsFiddler 。

于 2013-07-29T20:14:23.147 回答