Kopiowanie do schowska

0

Witam,
Co powinienem poprawić, żeby poprawnie mi to kopiowało dane do schowka? W konsoli brak informacji o błędach,jedynie zamula mi stronę z tym kodem...

$(document).ready(function() {
	$(document).on("click","#wynik td #className1", function () {
			$(this).zclip ({
				 path:'swf/ZeroClipboard.swf',
				 copy: $(this).text()
		           });
	 });	
});
1

w tym miejscu:

copy: $(this).text()

this juz nie odwoluje sie do twojego elementu ktorego id jest className1 (notabene z tego kodu wynika ze najprawdopodobniej id=classname1 powtorzy sie wiecej niz jeden raz, co jest bledem). wiec przypisz przed wywolaniem zclipa this to jakiejs zmiennej (np. that) i wtedy dowolaj sie do tej zmiennej.</del>

Dobra popelnilem blad, ale sie zreflektowalem ponizej :)

1

@netsprint: usunąłeś odpowiedź dot. wypowiedzi @szalonyfacet i ostatecznie nijak się nie odniosłeś do tej wypowiedzi...

Poprawiłeś błąd, zrozumiałeś też to, co wytknął @szalonyfacet ? Bo nie wiem czy temat zakończony, czy coś jeszcze nie wiesz.

0
  1. Nie zrozumiałem tego, jeszcze co @szalonyfacet napisał.
  2. Nie do końca rozumiem działanie this.
  3. Nie mam pojęcia jak w sytuacji, gdy elementy należą tylko do klasy i nie mają unikalnego id, można stwierdzić , który został kliknięty...
  4. Usunąłem własną wypowiedź
1

pokaż kawałek kodu HTML

@szalonyfacet: w sumie to nie masz racji. w tym zclip on nie podaje żadnej funkcji - tylko podaje to jako parametr do wywołania - this wciąż będzie klikniętym elementem

1

Tu masz racje @dzek69, ale zeby nie bylo ze tylko w blad wprowadzam to w ramach pokuty cos poprawnego:

@netsprint a widziales ty dokumentacje tego i jak tego uzywac ?

pewnie nie bo cos chcesz stworzyc, ale nie wiesz jak: http://www.steamdev.com/zclip/

dokumentacja podaje ze tego uzywa sie tak:

$(document).ready(function() {
       $('a#copy-description').zclip({
		path:'ZeroClipboard.swf',
		copy:$('p#description').text()
	});
});

czyli przy ladowaniu dokumentu podajesz do jakiego elementu ma byc zastosowana ta proteza. mowie proteza bo skrypt odpala flasha i naklada go na twoj obiekt tworza cos ala clickjacking, czyli przeslaniajac obiekt przejmuje klikniecie w niego flash kopiuje do schowa zawartosc p#description.

wiec a#copy-description to twoj obiekt , a p#description to obiekt ktorego zawartosc bedzie kopiowana, path to link do swfa.

wiec jesli dlatego uzywasz on z jquery bo dzialasz z dynamicznym contentem to tutaj to nie podziala. zas jesli wszystko jest statyczne to ustaw odpowiednio i bedzie hulac. przynajmniej u mnie hula. aha i sprawdzaj to na serwerze bo lokalnie flash najprawdpodobniej nie pojdzie.

0

Mój kod Html wygląda następująco:

index.html

<!DOCTYPE html>
<html>
	<head>
		<title>Nowa Strona</title>
		<meta name="Author" content="netsprint" />
	<!-- META TAGS CSS -->
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<!-- META TAGS CSS -->
	<!-- STYLES CSS -->
		<link  type="text/css" rel="stylesheet"href="css/webstyle.css">
		<link  type="text/css" rel="stylesheet"href="css/tabelastyle.css">		
	<!--PLUGIN AND JQUERY -->

			<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="http://www.steamdev.com/zclip/js/jquery.zclip.js"></script>


		

	<!-- JAVASCRIPTS -->
	<script src="js/table_gen.js"></script>
	

	</head>
	<body>
		
			<div id="naglowek">
				<div id="wyszukiwarka">
					
							 <input name="f1" id="f1" type="file" title="Choose a local CSV file"  accept="css/txt" required="required"/>
							Wyszukaj: <input id="szukajka" name="szukajka"  type="text" value="" ><input id="submit" name="submit" type="submit"  value="Szukaj">
							
					
				</div>
			</div>
		<!--	<div id="menu">Menu nawigacyjne</div>-->
				<div id="wynik">

				

				</div>
			<div id="stopka">Stopka serwisu</div>

	</body>
</html>

tab_gen.js ( fragment):

$(document).on("click","#wynik td.wstawki", function () {
	var that = this;
	
		$(this).zclip ({
		
				path:'swf/ZeroClipboard.swf',
				copy: $(that).text()
				
		});
	});	

tak wygląda struktura generowanej tabeli:

 <div id="wynik">
            <table>
				<th>A</th>
				<th>B</th>
				<th>C</th>
				<th>D</th>
				<th>E</th>
                <tr>
                    <td>A1</td>
                    <td>B1</td>
                    <td>C1</td>
                    <td class="wstawki">D1</td>
                    <td>E1</td>
				
				<tr>
				  <tr>
                    <td>A2</td>
                    <td>B2</td>
                    <td>C2</td>
                    <td class="wstawki">D2</td>
                    <td>E2</td>
				
				<tr>
				  <tr>
                    <td>A3</td>
                    <td>B3</td>
                    <td>C3</td>
                    <td class="wstawki">D3</td>
                    <td>E3</td>
				
				<tr>
				<td>AN</td>
				</tr>
           
            </table>
        </div>

Próbowałem tak to wykonać, lecz nie działa to poprawnie.
Widziałem dokumentacje, ale w dokumentacji nie ma nic o kliknięciu w takiej sytuacji, potrzebny jest button... Okazuje się, ze taki sposób nie działa, więc, albo ten trzeba jakoś poprawić, albo jakiś inny sposób muszę znaleźć na ten problem, tylko rozwiązania jakiegoś nie łatwo odnaleźć...
Podejrzewam, ze najłatwiej będzie jak przerobię tabele generowaną wewnątrz

i wpisze te id unikalne zamiast nazwy klasy, ale i tak:</p>

"nie koniecznie zbliży mnie do rozwiązania tego problemu..."

  1. Zauważyłem, że ze stopki ciąg znaków nie kopiuje... - Na serwerze np. xamp działa stopka :)
1

Taki nitpicking ale: czemu zclip? Przecież to antyk nie wspierany od 3 lat. ZeroClipboard z pięknym demo masz na githubie: http://zeroclipboard.org/ & https://github.com/zeroclipboard/zeroclipboard

IMO w nowej wersji bardzo by wygodnie używało Ci się atrybutu data-clipboard-text na elementach do kopiowania, a wszystkie generowane po prostu dodać kjako klientów do ZeroClipboard. wówczas odpada Ci pisanie JS do obsługi clicku itp ;)

https://github.com/zeroclipboard/zeroclipboard/blob/master/docs/instructions.md <- Przeczytaj bardzo fajny manual :)

0
  1. Taki button jaki proponujesz @Johny_Bit to fajna sprawa, ale button pojawia się na końcu długiej tabeli, więc jest to złe rozwiązanie...
  2. Wyskakujący button znowuż robi zamieszanie w tabeli, co znowu jest niepotrzebne (zasłania wiersze lub rozsuwa kolumnę))...

Niestety, gdy tekst jest w tabeli to nie łatwo skopiować go( zwłaszcza, gdy jest długi i obok są kolejne kolumny z długim tekstem( łatwo przeoczyć początek i koniec))...

1 użytkowników online, w tym zalogowanych: 0, gości: 1