在$(document).ready()中没有检测到事件处理程序

时间:2014-03-11 18:37:37

标签: jquery

我有

$(document).ready(function(){
    createSearch();
    $('#search').bind('click', function(){
         if($(this).val()=='Search'){
             $(this).val('');
         }
   });
});

function createSearch(){
    $('#mainDiv').prepend('<input type="text" id="search" />');
}

但是,未检测到搜索click事件。

3 个答案:

答案 0 :(得分:1)

您是否忘记在输入中设置值?

function createSearch(){
    $('#mainDiv').prepend('<input type="text" id="search" value="Search" />');
}

看到它正常工作here

答案 1 :(得分:1)

你可以找到一个更好的方法,如下所示。找到小提琴here

$('<input />',{
    type:'text',
    val:'Search',  // Just to set the value to 'Search' initially, you can remove it if not needed
    id:'search',
    click:function(){
        if($(this).val()=='Search')
            $(this).val('');
    }
}).prependTo('#mainDiv');  

答案 2 :(得分:0)

在输入value="Search"声明中添加type="text"

而不是所有这些javascript。您可以在文本框声明中使用placeholder = "Search"