2013-05-13 70 views
6

我使用下面的代碼是Bootstrap框架的一部分。使用引導下拉 - 焦點輸入通過jquery

我的目標是通過Jquery的點擊/焦點功能點擊<a>name</a>來關注輸入。我已經知道它在a鏈接中的data-toggle="dropdown"屬性使它不起作用。我並不是很有經驗。希望有人爲我提供幫助!

<html> 
<body> 
<li class="dropdown"> 
<a class="dropdown-toggle" id="dLabel" role="button" data-toggle="dropdown" data-target="#" href="#"><i class="icon-user"></i> name </a> 
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> 
<li> 
<form ...>          
<input type="text" id="4711" /> 
</form> 
</li> 
</ul> 
</li> 
</body> 
</html> 



<script> 
$('#dLabel').click(function() { 
    $('#4711').focus(); 
}); 
</script> 
+1

你的HTML代碼是錯誤的,你應該結束標記後,您可以使用的jsfiddle來說明你的問題,因爲我不明白你在說什麼關閉HTML標記 – 2013-05-13 15:05:36

回答

5

你應該把你的代碼在文檔準備好處理程序:

{爲引導,你可以使用超時作爲一個簡單的解決方法}

SEE DEMO

$(function() { 
    $('#dLabel').click(function() { 
     setTimeout(function(){$('#login').focus();},0); 
    }); 
    $('.dropdown input[type=text]').click(function(e){ 
     e.stopPropagation(); 
    }); 
}); 
+0

之前不會。 – 2013-05-13 16:49:18

+0

感謝您的快速響應!基本上它的工作,是的。但問題是在引導下拉的理解!我添加了引導js庫fsfiddle,使其更清楚! PLZ需要花費很多錢。我的希望可能是傾聽引導下拉功能,然後調用焦點功能。但是再一次,我並不是真正的暴露,所以如果有人能夠幫助我,我真的很高興! – user1946431 2013-05-13 16:53:12

+0

這裏是jsfiddle鏈接:http://jsfiddle.net/uNrmS/3/ – user1946431 2013-05-13 16:53:38

0

一種解決方法解決方案使用帶有for屬性的標籤元素而不是元素。

... 
    <li class="dropdown"> 
    <label for="4711" class="dropdown-toggle" id="dLabel" role="button" data-toggle="dropdown"> 
    <i class="icon-user"></i> name </a> 
    <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> 
     <li> 
     <form ...>          
     <input type="text" id="4711" /> 
     </form> 
     </li> 
    </ul> 
    </li> 
...