我正在使用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/
答案 0 :(得分: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 here。