ZeroClipboard के साथ एक टूलटिप जोड़ने के लिए परेशानी - जावास्क्रिप्ट, jquery, zeroclipboard

मैं ज़ीरोक्लिपबोर्ड का उपयोग करने की कोशिश कर रहा हूं http://code.google.com/p/zeroclipboard/ क्लिपबोर्ड पर सामान कॉपी करने के लिए और फ्लैश पर माउस होवर करते समय टूलटिप जोड़ें। लेकिन यह काम नहीं कर रहा है।

मेरा एचटीएमएल कोड:

<div rel="<?php echo $url;?>" class="cp-code">copied code</div>
<div class="test" style="display: none; border: 1px solid #ccc; padding: 8px;">click copy,test,test</div>

मेरा जेएस कोड: मैंने jquery लाइब्रेरी जोड़ा है।

ZeroClipboard.setMoviePath("http://example.com/js/ZeroClipboard.swf");
var clip = null;
var url = "";

function init() {
clip = new ZeroClipboard.Client();
clip.setHandCursor( true );

$(".cp-code").mouseover( function() {
clip.setText(this.innerHTML);
$("test").style.display = "block";
if (clip.div) {
clip.receiveEvent("mouseout", null);
clip.reposition(this);
} else {
clip.glue(this);
}
clip.receiveEvent("mouseover", null);
url = $(this).attr("rel");
});

clip.addEventListener("mouseUp", function(client) {
window.open(url);
});
clip.addEventListener("mouseOut", function (client) {
$("test").style.display = "none";
});

}

$(document).ready(function() {
init();
});

उत्तर:

उत्तर № 1 के लिए 1

आप माउसओवर पर ऐसा क्यों करना चाहते हैं? मुझे यकीन नहीं है कि ज़ीरोक्लिबोर्ड इसका समर्थन करता है या नहीं।

जब यह पता लगाने में मुझे थोड़ी देर लग गईमैंने पहले ज़ीरोक्लिबोर्ड का उपयोग किया क्योंकि यह कार्यान्वयन सामान्य से थोड़ा अलग है। हालांकि, आप बस क्लिप.सेट टेक्स्ट नहीं कह सकते हैं। आपको क्लिप क्रियान्वयन को नियंत्रण में "गोंद" करना होगा। और आप jQuery ऑब्जेक्ट का उपयोग नहीं कर सकते हैं, आपको इसे वास्तविक DOM ऑब्जेक्ट पर चिपका देना होगा।

तो, उदाहरण के लिए:

var cpCode = $(".cp-code");
cpCode.each(function()
{
clip = new ZeroClipboard.Client(); //you can set the movie path here too
clip.glue($(this)[0]); // The [0] accesses the actual DOM object rather than the jQuery object
clip.setText($(this).html();
});

तो अब जब आप तत्व पर क्लिक करेंगे, तो पाठ होगाकॉपी किया जाए। मैं देखता हूं कि आप अपने उदाहरण में कुछ और सामान कहां कर रहे हैं, लेकिन परवाह किए बिना, मुझे लगता है कि आपके लापता तत्व को आपके jQuery माउसओवर ईवेंट पर clip.setText को कॉल करने के बजाय क्लिप के उदाहरण पर डीओएम ऑब्जेक्ट को ग्लूइंग करना है।


संबंधित सवाल
सबसे लोकप्रिय