gpt4 book ai didi

jquery - zClip - 如何通过单击按钮添加、触发然后删除 zClip?

转载 作者:搜寻专家 更新时间:2023-10-31 21:51:22 25 4
gpt4 key购买 nike

.zclip() 附加到按钮,然后触发它,然后删除 .zclip() 的最佳方法是什么?这听起来很简单,但我无法让它合作。我有一个包含许多按钮的页面,一些可以直接访问,一些按钮可以通过各种 Accordion 和选项卡访问。许多复制目标包含动态数据,其中一些是通过 ajax 插入的。许多部分也是可折叠的。如果 .zclip() 附加到按钮的 flash 覆盖在该部分关闭时存在,则会导致动画出现故障。

我尝试过从几种不同的方式来解决这个问题:

附加.zclip()所有按钮元素,然后按设定的时间间隔刷新页面。虽然它确实捕获了动态数据,但它的性能非常糟糕。

根据 mouseentermouseleave 事件以及 mouseover鼠标悬停。以这种方式附加时,所有事件每秒都会触发多次,导致多个 Flash 叠加层绑定(bind)到一个按钮。

基于 .hover().hoverIntent() 添加和删除 .zclip()。虽然这比上面的尝试表现得更好并捕获动态数据,但事件仍然会触发。我尝试在父部分执行 .hover() 并将 .zclip() 附加到该部分中的所有按钮。这行得通,但性能很糟糕。

我相信有一个简单的解决方案,但我就是想不出来。我可以通过 .click() 绑定(bind) .zclip(),它将附加到一个按钮。我可以通过其 afterFunction 参数删除 .zclip()。我无法弄清楚如何将额外的 click 事件传递给按钮并在其附加后触发 .zclip() 。它会起作用,但必须单击该按钮两次。一旦激活它,就发射并移除它。我在想,也许额外的 click 事件需要发送到 flash overlay 而不是再次发送到按钮。也许有人可以指出我正确的方向?

zClip Homepage

jsFiddle of this code:

<div id='copy'>Test</div>
<button>Click Here To Copy The Div Above!</button>
<span id='success'>Success!</span>
#copy{
height: 100px;
width: 200px;
padding: 3px;
margin-bottom: 5px;
border: 1px solid black;
border-radius: 6px;
}
#success{
color: rgba(84,240,84,1);
}
$(document).ready(function() {
var copySuccessHide = function(){
$( "#success" ).css({opacity: 0.0, visibility: "visible"});
};
copySuccessHide();/*hide the success indicator*/
var copyData = $("#copy").text();/*get data from copy target*/
var afterCopyFunction = function(){
$("#copy").effect( "highlight" , {color : "rgba(230,255,230,1)" }, 1000 )
$("#success").effect( "pulsate", "fast", copySuccessHide );
$("button").zclip('remove');/*remove zclip*/
};

$("button").click(function () {/*bind zclip to the button on click*/
$("button").zclip({
path: "http://www.steamdev.com/zclip/js/ZeroClipboard.swf",
copy: copyData,
afterCopy: afterCopyFunction,
clickAfter: false
});
});
});

最佳答案

我同意以上所有评论,但您可以尝试一件事......

 $("button").click(function () {/*bind zclip to the button on click*/
$(this).zclip({
path: "http://www.steamdev.com/zclip/js/ZeroClipboard.swf",
copy: copyData,
afterCopy: afterCopyFunction,
clickAfter: false
});
});

通过使用 $(this)....您仅将当前单击的按钮绑定(bind)到 zclip 构造函数。当您使用 $("button") 时......每次单击一个按钮时,您都会在页面上的每个按钮上调用 zclip 构造函数。

关于jquery - zClip - 如何通过单击按钮添加、触发然后删除 zClip?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12889815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com