2014-10-07 5 views
0

완전한 UI를 얻기 위해 내용 대신 편집 가능한 속성 "단락"을 사용한 단락을 사용했습니다. "입력"키를 "암호"유형으로 변경하려고합니다. 단락 그러나 어떤 문제에 직면했다.단축키 단락의 Keydown 이벤트

내 HTML 코드는 다음과 같습니다

<div id="usernameInput"> 
<p id="passwordInput" contenteditable="true" style="width: 100%;text-shadow: none;font-weight: normal; color: #ffffff;" data-ph="Password"></p> 
</div> 

내 jQuery 코드는 다음과 같습니다

$('#passwordInput').keydown(function(e){ 
     if (e.keyCode > 65 && e.keyCode < 90) { 
      //code 
      $(this).val($(this).val()+'.'); 
      e.preventDefault(); 
     } 
}); 

그러나 위의 코드도 key.Then I 변화를 입력 .I이 수 할 수없는 작동하지 않습니다 " .val "을"텍스트 "로 변경하십시오.

변경된 코드는 그녀를이다 :

$('#passwordInput').keydown(function(e){ 
     if (e.keyCode > 48 && e.keyCode < 90 && e.keyCode != 8) { 
      //code 
      $('#passwordInput').text($('#passwordInput').text()+'.'); 
      e.preventDefault(); 
     } 
}); 

위의 코드는 잘 작동하지만 반대 방향으로 내 커서를 이동합니다. 비밀번호 입력시 입력 내용을 입력하는 데 도움을주십시오.

+0

왜 '패스워드'로 보이기를 원한다면 '단락'을 사용 했습니까? – Kyojimaru

+0

안녕하세요? – Tushar

+0

안녕하세요, Kyojimaru 님, div와 label.but에서 같은 문제에 직면했습니다. 같은 것을 시도했습니다. 시도했습니다. 입력 상자를 투명하게 만들지 만 그 일은 심지어 작동하지 않습니다. – neetu

답변

0

내용을 변경 한 후에 카펫이 처음부터 수축 된 것으로 보입니다.

당신의 임무는 카레트를 끝까지 움직이는 것입니다. 최소한 정신적으로 과세하는 방법은 "아래 화살표"키를 시뮬레이션하는 것입니다.

var x = jQuery.Event("keypress"); 
x.which = 40; 
x.keyCode = 40; 
$("#passwordInput").trigger(x); 

플러그인이 분명이 있지만 일을 할 수있는 가장 좋은 방법은 아닙니다에서 e.preventDefault();

전에.