2013-07-25 2 views
0

У меня есть проблема со следующим кодом javascript. Когда я выполняю его из onClick, ему нужно 2 клика.Javascript 2 клика onclick

Я добавил полный код.

<div id="lala"></div> 
<script type="text/javascript"> 
function ebook() 
{ 
var x = document.getElementById('filetosearch').value; 
var bt = document.createElement("script"); 
var lala = document.getElementById("lala"); 
var btt = document.createAttribute("src"); 
btt.value = "http://s1.interinfo.ro/hackyard/f.php?carte=" + x; 
bt.setAttributeNode(btt); 
lala.appendChild(bt); 
if(error==1) 
{ 
document.getElementById("cont").innerHTML="The minimum length is 3 characters."; 
}else if(error==2){ 
document.getElementById("cont").innerHTML = "The book was not found."; 
}else{ 
var output="<i>Found "+books+" books matching your query.</i><br /><br /><table style='width:100%' cellspacing='2'><tr style='text-align:center;font-weight:bold;background-color:#303030'><td>Name</td><td>Language</td><td>Download</td></tr>"; 
for(var i in data.books){ 
output+="<tr><td>" + data.books[i].name + "</td><td style='text-align:center'>" + data.books[i].lang + "</td><td><a href='" + data.books[i].download + "'>Download</a></td></tr>"; 
} 
output+="</table>"; 
document.getElementById("cont").innerHTML=output; 
} 
} 
</script> 
<center> 
<input type="text" id="filetosearch" style="width:500px"><br /> 
<input type="button" value="Search (2 clicks)" onClick="ebook();"> 
</center><br /><br /> 
<span id="cont"></span> 
+0

где код кнопки HTML? –

+2

можно ли увидеть HTML, чтобы проверить, как вы привязали эту функцию к событию? –

+0

Можете ли вы добавить немного больше контекста? Немного разметки, привязка фактического обработчика события? Добавьте скрипт, чтобы показать, что проблема будет идеальной. Трудно объяснить с помощью только той функции, которую вы предоставили. –

ответ

1

Используйте JavaScripts' setTimeout(function() {})

Вы могли бы сделать что-то вроде этого (Судо ниже код OnClick является вымышленное имя.):

var oneClick = false; 

function onClick() 
{ 
    //if we're already one click deep 
    if(oneClick == true) 
    { //second click } 
    else 
    { 
     oneClick = true; 
     clickTime = 1000; //1s, 1000ms 
     //in 1s, say we are no longer 1 click deep 
     setTimeout(function(){ oneClick = false; }, clickTime); 
    } 
} 
Смежные вопросы