2010-08-12 2 views
0

keyPress에 코드 (jQuery)를 추가하고 검색 텍스트 상자 및 버튼을 각각 클릭했습니다. 이제 검색 쿼리는 브라우저에서 (http://samplesite/default.aspx?k=query) 버튼을 클릭했을 때 반영되지만 검색 텍스트 상자에서 Enter 키를 누르면 나타나지 않습니다. 누구든지이 문제를 알고 있습니까? 감사.keyPress 이벤트가 k 파라미터의 변경 내용을 반영하지 않습니다

// Keypress event for search box 
$('#search-box').keypress(function (e) { 
    if ((e.which && e.which === 13) || (e.keyCode && e.keyCode === 13)) { 
     Search(); 
    }; 
}); 
// Click event for search button 
$('#search-button').bind('click', function() { 
    Search(); 
}); 

p.s. 메신저 당신이 시도 할 수

+0

코드를 보여줄 수 있습니까? –

+0

여기 있습니다. // 검색 상자의 키 누르기 이벤트 $ ('# search-box') keypress (function (e) {if ((e.which && e.which === 13) || (e.keyCode && e.keyCode = == 13)) {검색();};}); // 검색 버튼 $ ('# search-button')의 이벤트를 클릭하십시오. bind ('click', function() {Search();}); – SajmiraZ

답변

0

을 location.assign 사용 :

$('#search-button').bind('click', function() { 
    Search(); 
}); // order is important! 

$('#search-box').bind(($.browser.opera ? "keypress" : "keydown"), function (e) { // opera handle keypress differently 
    if (e.keyCode && e.keyCode === 13) { 
    $('#search-button').click(); 
    }; 
}); 

는 또한, 당신이 너무 jquery.hotkey을 시도 할 수 있습니다.

+0

감사합니다. 나는 이것을 시도 할 것이고 당신에게 알려줄 것이다.^_^ – SajmiraZ

+0

k 매개 변수가 아직 업데이트되지 않습니다. IE 7을 사용하고 있습니다. location.assign에 문제가 있습니까? 또는 그것의 다만 keyPress는 IE 7에있는 브라우저 원본 상자에있는 URL를 및 당신이 단추를 클릭 할 때만 새롭게하지 않을 것입니까? 다시 한번 감사드립니다. – SajmiraZ

+0

나는 결코'location.assign'을 사용하지 않았습니다. 하지만 대신 window.location.assign을 사용해 볼 수 있습니다. 'console.log()'또는 단지'alert()'만으로 디버깅을 시도하면 모든 것이 멈추는 부분을 볼 수 있습니다. –

관련 문제