在所有其他人都这样做之后,是否可以执行一个jQuery ready块.
我在主页上有这个…
<script type="text/javascript"> $(document).ready(function() { $("input[type='text']:enabled:first",document.forms[0]).focus().select(); }); </script>
这在我的其他页面之一…
<script type="text/javascript"> $(document).ready(function() { $('textarea.message-body').wysiwyg(); }); </script>
我看到的问题是第一个块在第二个块之前执行,这导致了tab键的问题.当我按Tab键时,键盘焦点会转到浏览器的地址栏.我已经更改了代码,以便在我的主页上
<script type="text/javascript"> $(document).ready(function() { var bodies = $('textarea.message-body'); if (bodies.length > 0) { bodies.wysiwyg(); } $("input[type='text']:enabled:first",document.forms[0]).focus().select(); }); </script>
并完全取消其他准备好的块.这样做会使标签键正常工作,并将焦点设置到我的文本区域.
解决方法
$(window).load()函数在$(document)之后触发.ready()