2011-03-19 53 views
0

我有一个ajax调用,它从请求返回到服务器并需要动态地将任何OnKey事件添加到输入元素,这里是代码即时通讯使用并注意我已经尝试使用但没有工作的注释掉的脚本。这工作在IE中没有问题,但即时通讯使用Mozillas最新的浏览器。在动态添加到Mozilla中的元素时,Onkey事件不起作用

function HomePageSearchKeyPressEnter(e,searchType,val) { 

alert('eeeee'); 
var e = e || window.event; 
if (e) { 
    alert('sssss'); 
    var code = e.keyCode || e.which; 
    if (code == "13") { 
     HomePageSearchEnter(searchType, val); 
    } 
} 
} 

function HomePageSearchEnter(searchType, val) { 

if (searchType == 'Music') { 

    WebForm_DoCallback("UserPageControl1", "HomePageSearchText~" + searchType + '~' + val, UserHomePageNavigationClickServerResponse, null, null, true) 

} 


} 

function UserPageHomeSearchServerResponse(param, context) { 

if(param.length > 0) { 
    var splitParam = param.split("|"); 

    var html = splitParam[0]; 
    var id = splitParam[1]; 
    var searchType = splitParam[2]; 

    $("#" + id).html(html); 

    var elem = document.getElementById('HomePageSearchTextboxID'); 

    alert('ddd'); 

    if (elem.addEventListener) { 
     elem.addEventListener("keydown", function() { HomePageSearchKeyPressEnter(event, searchType, elem.value); }, false); 
    } 
    else { 
     elem.attachEvent("onkeypress", function() { HomePageSearchKeyPressEnter(event, searchType, elem.value); }); 
    } 

//  elem.onkeyup = function() { HomePageSearchKeyPressEnter(event, searchType, this.value); }; 

    alert('ddssssd'); 

//  $("#HomePageSearchTextboxID").attr("onkeyup", function() { HomePageSearchKeyPressEnter(event, searchType, this.value); }); 
} 
} 

回答

0

尝试使用JQuery:

$('#target').keydown(function() { alert('Handler for .keydown() called.'); }); 

我用类似这样的东西为我的网站和它的作品中铬,FF,&即

更多的信息在这里:http://api.jquery.com/keydown/

相关问题