2013-01-25 2 views
0

은 내가 속성 clientid=1를 포함 내 페이지에서 동적 입력 텍스트가 등 clientid=2 ..jquery로 특정 속성이있는 모든 요소에 이벤트를 첨부하는 방법은 무엇입니까?

인가이 클라이언트 ID가 포함 된 텍스트 상자에 대한 키 누르기 이벤트를 연결할 수 있습니까? 방법?

참고 : 모든 텍스트 상자가 키 누름을하지 말았어야 의미 속성이

+1

지금까지 무엇을 얻었습니까? –

+0

$ ('input [clientid]')와 같은 .on() 및 selector와 함께 .keypress()를 사용하십시오. – kicaj

답변

0

예, 이벤트 위임 .on()has-attribute selector를 사용할 수 있습니다

$(document).on('keypress', 'input[type="text"][clientid]', function(e) { 
    // your code here 
}); 

이벤트 대표단은 페이지가로드 된 (그리고 코드가 실행 된) 이후에 추가되는 요소에 반응합니다. 이상적으로는 document을 사용하는 대신 페이지가로드 될 때 존재하고 항상 존재하며 keypress 이벤트에 반응하려는 모든 요소를 ​​포함하는 요소에 대해 selector를 지정하는 것이 이상적입니다.

+0

동적 입력에도 코드가 작동하지 않습니다 – kicaj

+0

@kicaj 질문에 편집했습니다. –

+0

나는 더 낫다고 생각한다. 자신이 수정하지 않고 수정하지 않으면 내 의견이 – kicaj

-1

예. 당신은 사용할 수 있습니다

$(document).on('keypress', 'input[clientid]', function(e) { 
    ... 
}); 

이상의 특정 표적화를 들어 :

$(document).on('keypress', 'input[clientid="1"]', function(e) { 
    ... 
}); 
+0

동적 입력에서 코드가 작동하지 않습니다. – kicaj

+0

네, 새로운'on'을 사용할 수 있습니다. – techfoobar

+0

내 업데이트 된 답변보기 – techfoobar

0

$(':input[clientid]').on('keypress',function(){}); 
0

을 시도 당신은 속성 선택기를 사용하여 텍스트 상자에 맞게 :

$('input[type="text"][clientid]') 

또한 사용자 지정 특성 이름을 data-clientid으로 바꿉니다.

관련 문제