2014-11-10 2 views
-4

Мне интересно, есть ли способ заставить ZeroClipBoard работать с кнопками моей всплывающей подсказки? У меня есть следующий код, который покажет всплывающее окно, всплывающая страница вызванный из файла php, включает 2 кнопки.ZeroClipboard не работает на кнопке popup page

код для первой страницы:

<html> 
<head> 
<title>test</title> 
<script type = "text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.1.6/ZeroClipboard.js"></script> 
</head> 
<body> 
<div id="myDiv">This is the content to get copied to the text area and then to clipboard</div> 
<button id="testButton" data-clipboard-target="myDiv"><b>Copy To Clipboard</b></button> 
<!--<script type="text/javascript"> 
var clicks = 0; 
</script>--> 
<button onclick="launchPopUp('', '', 700, 'embedCode.php');">test button</button> 
<!--<script> 
function test123(){ 
if(clicks>=1){ 
alert(clicks); 
var client = new ZeroClipboard(document.getElementById('copyAll')); 
} 
} 
</script>--> 
</body> 
<script> 
var client1 = new ZeroClipboard(document.getElementById('testButton')); 
</script> 

Я попытался сделать «скопировать в буфер обмена» для кнопки «testButton» работает на моей первой странице, с помощью ZeroClipboard.

мой код для второй страницы, которая будет содержание для отображения всплывающей странице:

<?php 
session_start(); 

$userName = "asdfbsadf";//$_SESSION['user_name']; 
?> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

<script type = "text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.1.6/ZeroClipboard.js"></script> 
</head> 
<body> 
<div id="copiedContent" style="border: 2px solid; margin: 30px 20px 10px 20px; padding: 4px 3px 5px 3px;"> 
Here will be the content and <?php echo $userName?> that be copied to the clipboard 
</div> 
<button id="copyAll" data-clipboard-target="copiedContent" style="float: right; margin-right: 20px;">Copy All</button> 

<button style="float: right;" onclick="whatIsThis()">What Is This?</button> 

<script> 
function whatIsThis(){ 
    alert("This is..."); 
} 
</script> 
</body> 
<!--<script language="JavaScript"> 
var client = new ZeroClipboard(document.getElementById('copyAll')); 
</script>--> 
</html> 

«launchPopup()» функция вызывается из открытого источника, который называется popUp2.0.js, если JS файл , я отправлю это, но это один из 170 строк кода.

Вышеуказанные коды выше, те, которые я пробовал. Я попытался добавить «var client = new ZeroClipboard (document.getElementById ('copyAll')); для моей кнопки copyAll моей всплывающей страницы на вторую страницу это не сработало; Я попытался добавить это на первую страницу, кнопка тоже не работала.

Я обнаружил, что если код "var client = new ZeroClipboard (document.getElementById ('copyAll'));" вызывается после кнопки, которая будет работать; но я пробовал все, что я знаю, чтобы положить его после кнопки, а когда я запустил страницу и нажал кнопку теста, чтобы открыть всплывающее окно, я нашел код «var client = new ZeroClipboard (document.getElementById (« copyAll ») ')); всегда вызывается перед кнопкой, когда я проверяю элемент.

Мне интересно, есть ли функция, называемая test123(), есть ли способ, которым я могу запустить эту функцию после нажатия кнопки и всплывающей всплывающей странице, поэтому я могу запустить Javascript после всплывающей странице и нажмите кнопку copyAll?

Или я думаю, что это неправильно, и мой код слишком плохой? и если есть какой-то способ, который может заставить его работать, я буду признателен, поскольку в первый раз я использую ZeroClipboard.

+0

все зависит от того, что запускаетсяPopUp – epascarello

+0

Ваш вопрос непонятен. Удалите все, что вам не нужно, чтобы описать его и быть как можно более конкретным. – greggreg

+0

@epascarello Вопрос обновлен. Код для launchPopUp() имеет длину 170 строк. Если вы хотите это увидеть, я буду рад обновить его на своем посту. –

ответ

0

Вы пытались вызвать вторую функцию в событии onclick?

<button onclick="launchPopUp('', '', 700, 'embedCode.php'); test123();">test button</button> 
+0

Да, я пробовал, что это не работает. который вызовет test123() перед загрузкой всплывающей страницы. –

Смежные вопросы