我需要以一种可由任何相关事件处理程序(直接JS,jQuery或interact.js)处理的方式手动构造/触发mousedown事件,就像一个自然的mousedown事件一样.但是,事件似乎没有像我期望的那样触发任何事情.
我试图使用interact.js库制作一些不规则形状的图像.图像只是具有透明部分的矩形img元素.在每个元素上,我定义了2个interact.js事件侦听器:
但是,如果img元素重叠,并且用户单击顶部元素的透明区域但是在下部元素的填充区域上,则下部元素应该是拖动的目标.尝试了几件事后(见下文),我已经解决了以下问题:在步骤1中禁用拖动的同时重新排序元素的z索引,然后在所有下层元素上重新触发mousedown事件.我正在使用"本机"事件类型(不是jQuery或interact.js),希望它只是复制原始的mousedown事件.
// code to re-assign "zIndex"s
function demote(element, interactible, event){
// block dragging on element
interactible.draggable(false);
// get all images lower than the target
var z = element.css("zIndex");
var images = $("img").filter(function() {
return Number($(this).css("zIndex")) < z;
});
// push the target to the back
element.css("zIndex",1);
// re-process all lower events
$(images).each( function () {
// move element up
$(this).css("zIndex",Number($(this).css("zIndex"))+1);
// re-fire event if element began below current target
elem = document.getElementById($(this).attr('id'));
// Create the event. …Run Code Online (Sandbox Code Playgroud) 我正在尝试将Alamofire安装到我的Xcode项目中.但是,在遵循github项目文档给出的所有安装步骤之后,Alamofire.framework文件在Xcode中显示为红色,并且项目将不会构建.此外,似乎没有办法解决这个问题,因为Alamofire.framework文件在github上的包中不存在.
更详细的解释:
按照github上的说明手动安装直到最后一步:"单击面板左上角的+按钮,选择"新建复制文件阶段".将此新阶段重命名为"复制框架",设置"目的地"到"框架",并添加Alamofire.framework."
因为我们已经包含了该项目,所以当我们添加一个新框架时,Alamofire DOES会显示在要添加的可用内容列表中.但是,当我们添加它时,它会显示红色.我们知道,这意味着路径相对于SDK是不正确的.好的,很好......但是当我们通过查看我们放入项目目录的Alamofire目录来修正路径时,有很多文件,其中没有一个是"Alamofire".
我知道我正确下载了包.我作为git子模块安装,我删除它重试,我从github下载了zip,再次重试,等等.即使是本教程(http://www.raywenderlich.com/85080/beginning-alamofire-tutorial),如果你看一下这一步的图片,我们可以看到目录中没有框架文件!
因此,Xcode需要一个不存在的.framework文件的路径......但我们能够以某种方式添加框架.如果我感到困惑,请原谅我.
关于Alamofire安装问题有很多问题,但我认为这里肯定会有像我这样的新手缺少的东西.一张海报,在这里(未找到Alamofire框架),正在问类似的东西,但似乎她的问题被误解了(她不接受任何答案).我注意到"它是红色的!" 在Alamofire安装相关帖子的许多评论中出现的挫折感 - 这里的答案真的有助于澄清这一点.