jQuery函数在控制台中工作,但在代码中不起作用

时间:2014-08-25 22:25:34

标签: javascript jquery ready

下面的代码创建一个搜索字段,然后将焦点事件附加到它,以便当用户在输入字段中单击时预设值消失。 .focus行在控制台中工作,但不在代码中工作。如何让它在代码中运行?

<script type='text/javascript'>
jQuery( document ).ready(function( $ ) {
    jQuery('#site-nav').append("<div class='nav' style='width: 130px; margin-top: 15px;'><form     id='site-search' method='get' action='/search'><input id='search' name='search' class='textfield' tabindex='1' type='text' style='border-radius: 10px; height: 30px;' value='SEARCH'></form></div>")
});
jQuery("#search").focus(function(){$(this).val("");});
</script>

顺便说一下,我必须拼出“jQuery&#39;因为我们的应用程序配置为避免冲突 谢谢。祝福

1 个答案:

答案 0 :(得分:7)

ready方法中移动该行:

jQuery( document ).ready(function( $ ) {
    jQuery('#site-nav').append("<div class='nav' style='width: 130px; margin-top: 15px;'><form     id='site-search' method='get' action='/search'><input id='search' name='search' class='textfield' tabindex='1' type='text' style='border-radius: 10px; height: 30px;' value='SEARCH'></form></div>");
    jQuery("#search").focus(function(){$(this).val("");});
});

编辑:

请记住,如果字段获得焦点,focus()中的匿名函数将始终被触发。所以在这个动作之后它总是空的