单击输入时,我正在使用一些 JavaScript 来复制值。这很好用。通常我会做一个 JavaScript 警报,但现在我想使用一个查询淡化 div。
如果我在单独的脚本中运行 jquery 或 javascript,那么它们工作正常,只要我加入它们就会失败。
我认为这是因为我使用 onMouseOver 进行复制,但使用输入单击事件进行淡化警报。
知道如何合并这些吗?
<script language="JavaScript">
function toClip(me,vals) {
var clip = new ZeroClipboard.Client();
clip.setHandCursor( true );
clip.setText(vals);
clip.glue(me);
}
</script>
<script type="text/javascript">
$(document).ready(function() {
$('input').click(function() {
$messageCont = $('<div class="message_cont">');
$message = $('<div>DONE</div>').hide();
$messageCont.append($message);
$('body').prepend($messageCont);
$messageCont.css({
"left" : $(this).offset().left,
"top" : $(this).offset().top
});
$message.fadeIn(200, function() {
setTimeout(function(){
$messageCont.fadeOut();
//code to clean up container
}, 1500)
})
})
});
$messageCont.css({
"left" : $(this).offset().left,
"top" : $(this).offset().top
});
</script>
这通过以下方式调用:
<div class='copy' onmouseOver="toClip(this,'$val')"><input type="button" value="Copy"/></div>
谢谢 :)
4月15日更新:
有点使用 jquery 而不是 Javascript 来完成这项工作。
<input type="button" id="copy_button" data-clipboard-text="Copy Me!" Value="Click ME">
<script src="js/ZeroClipboard.js"></script>
<script>
var clip = new ZeroClipboard( document.getElementById("copy_button"), {
moviePath: "js/ZeroClipboard.swf"
} );
clip.on( 'complete', function(client, args) {
var $message = $('<div class="message">DONE</div>').hide();
var $messageCont = $('<div class="message_cont" />').append($message).prependTo('body');
$messageCont.css({
"left" : $(this).offset().left,
"top" : $(this).offset().top
}).find("div.message").fadeIn(200).delay(1500).fadeOut(function() {
});
} );
</script>
我唯一的问题是它只适用于按钮。我有很多我想和它一起工作的东西。有谁知道如何解决这个问题?
谢谢 :)