일부 텍스트를 편집하려면 클릭하면 Jeditable이 텍스트 영역의 실제 텍스트 주위에 여분의 공백을 삽입합니다. 이것을 어떻게 다듬거나 실제로 고칠 수 있습니까?Jeditable은 텍스트 영역에 텍스트 주위에 여분의 공백을 삽입합니다.
답변
실제로 편집하려는 문자열을 잘라내는 함수를 전달할 수 있습니다. 설정에서 사용하십시오.
data : function(string) {return $.trim(string)},
submit: "Save"
흠, 이상합니다. Jeditable에서 그 문제가 발생하지 않습니다.
$.trim(" hello, how are you? ");
이유를 찾았
아 잘 jQuery를가 트림 기능이 있습니다. 그리고 그것은 미친 짓이야! 당신이 HTML
<div id="inplace_edit_this">
This is some text that will be edited in-place.
</div>
을 다음과 같은 경우 장소 편집에서
텍스트 주위에 공백을 삽입합니다 그리고 그것은 것입니다 텍스트 주위 NOT 삽입 공간은 HTML이
<div id="inplace_edit_this">This is some text that will be edited in-place.</div>
처럼 보이는 경우 나는이 원인을 궁금해. 이는 아마도 브라우저와 자바 스크립트가 HTML을 해석하는 방식의 차이 때문일 수 있습니다.
이것은 오래된 뉴스 일지 모르지만 비슷한 문제로 직면했습니다. 왜 그런지 모르지만 편집 된 텍스트 입력을 저장 한 후 다음에 클릭 할 때마다 11 개의 공백이 나타납니다. 편집 가능한 텍스트 앞에 삽입됩니다.
시행 착오를 많이 후, 나는 마침내 jeditable.js 파일의 라인 ~ 239을 편집하여이 문제를 해결 :
content.apply(form, [input_content, settings, self]);
과 함께 대체 :
content.apply(form, [$.trim(input_content), settings, self]);
(당 Baloneysammitch 님의 제안)
내가 뭘하는지 거의 알지 못한다는 것에 유의하십시오. 그러나 이것은 효과가있는 것처럼 보입니다! 어쩌면 나보다 더 많은 기술을 가진 누군가가 그 여분의 11 칸이 어디에서 왔는지를 설명 할 수 있습니다 ...
누군가가이 게시물에 답변 한 이후로 꽤 오랜 시간이 걸렸지 만 같은 문제가 발생하여 두 가지를 추가 할 것이라고 생각했습니다. 센트 가치. 이 문제는 파이어 폭스와 사파리에서만 발생했습니다. IE와 크롬에는이 문제가없는 것 같습니다.
줄 239에서 $.trim()
에 대한 Symmitchry의 제안을 시도했지만 이것이 제대로 작동하지 않았습니다. 그래서 약간의 역 추적을했고, 문제가 첫 번째 라인과 라인 (176)의 주위에 나타나는 것을 파악이 이후
self.revert = $(self).html();
가 JQuery와 전화, 그것은 JQuery와 방법에 문제가 있는지 궁금한데 위에서 언급 한 브라우저와 상호 작용합니다. 확실하지 않음 ...
이 시점에서 $.trim()
을 추가하면 예상대로 작동합니다.
나는 Chirantan이 html이 어떻게 배치되었는지가 그 공간이 존재하는지 여부에 차이가 있음을 발견했다.
내 응용 프로그램의 JEditable 1.7.1에서이 문제를 해결했습니다.이 솔루션은 Symmitchry의 솔루션과 거의 동일합니다.
204 행부터 JEditable이 데이터를로드하는 방법을 결정하는 코드 블록이 있습니다.
/* set input content via POST, GET, given data or existing value */
var input_content;
if (settings.loadurl) {
...
} else if (settings.data) {
...
} else {
...
}
content.apply(form, [input_content, settings, self]);
는 jQuery를은 (내 버전의 행 239) 마지막 행하기 전에) 기능을 트림 그래서 당신은 얻을 추가 :
/* set input content via POST, GET, given data or existing value */
var input_content;
if (settings.loadurl) {
...
} else if (settings.data) {
...
} else {
...
}
try {
input_content = input_content.trim();
}
catch(e) {
// DO NOTHING
}
content.apply(form, [input_content, settings, self]);
이유를 내가 시도 - 캐치에 넣어 이유는 때를하기 때문에 텍스트 영역 또는 입력 텍스트로 JEditable 사용 input_content는 기본적으로 문자열입니다. 선택을 사용할 때 input_content는 객체이며 잘림에 잘 응답하지 않습니다.
try-catch를 사용하는 대신이 방법을 사용하는 것이 더 효과적 일 수 있지만 작업이 완료됩니다.
서식에 공백이 있으면 이런 현상이 발생할 수 있습니다. jEditable은 존중하면서 그것을 처리하고 콘텐츠를 수정하지 않습니다. 예를 들어 VS IDE 자동 포맷에서 HTML 렌더링이 잘되는 엄청난 간격을 만듭니다.
jQuery를 그냥 당신이 확인을 해주 마하려면 jEditable를 호출하기 전에 DOM을 잘라 사용하는 것이 더 공백을하지 않는 경우
어디$('#BatchTable tbody td').each(function() {
$(this).html($.trim($(this).html()));
});
oTable = $('#BatchTable').dataTable({
"bJQueryUI": true
});
내 경우이 솔루션은 파일 JQuery와에 라인 (390)에 </input>
을 제거하는 것이었다. jeditable.js. 라인 전에 : 나를 위해 작동 var input = $('<input type="hidden"></input>');
라인 : var input = $('<input type="hidden">');
- 1. Wordpress는 페이지 텍스트 영역에 자바 스크립트를 삽입합니다.
- 2. 텍스트 영역에
- 3. 텍스트 영역에 굵게 표시된 텍스트
- 4. 텍스트 영역에 미리 작성된 텍스트
- 5. 텍스트 영역에 텍스트 추가 - Jquery
- 6. 파이어 폭스의 텍스트 영역에 텍스트 배치의 동작
- 7. 제출하기 전에 텍스트 영역에 문자가 있는지 확인하고 공백을 무시하십시오.
- 8. 원 주위에 텍스트 그리기
- 9. 텍스트 영역에 요소 표시
- 10. 버튼을 텍스트 영역에 삽입하려면
- 11. 텍스트 영역에 초점 맞추기
- 12. 이미 텍스트 입력/텍스트 영역에 값을 설정하십시오
- 13. HTML 텍스트 영역에 특수 텍스트 서식 지정
- 14. JavaScript로 텍스트 영역에 입력 필드 텍스트 삽입
- 15. Jsoup가 여분의 공백을 삭제하지 못하도록하십시오.
- 16. #define은 매크로 주위에 공백을 추가해야합니까?
- 17. TinyMCE 텍스트 영역에 테두리 반경 추가
- 18. 자바 문자를 텍스트 영역에 추가하기
- 19. jQuery : 텍스트를 텍스트 영역에 삽입
- 20. 작업 영역에 텍스트 필드 배치
- 21. HTML을 텍스트 영역에 표시하는 방법
- 22. 텍스트 영역에 열이 설정되지 않습니다
- 23. 크롬에서 내 텍스트 영역에 줄 바꿈을 추가하지 않으려면 어떻게해야합니까?
- 24. 문자열 내에서 여분의 공백을 제거하십시오.
- 25. 서식있는 텍스트 상자 컨트롤에서 이미지 주위에 텍스트 줄 바꿈
- 26. 어떻게 모든 텍스트 영역 대신 특정 텍스트 영역에 htmlarea 설정
- 27. ajax 텍스트 영역을 다른 비 아약스 텍스트 영역에 복사/추가
- 28. JavaScript로 텍스트 영역에 커서를 놓은 상태에서 텍스트 삽입하기
- 29. 텍스트 영역에 텍스트 데이터를로드하고 실행하지 못하도록하십시오. (자바 스크립트)
- 30. 텍스트 영역을 스크롤 한 후에 텍스트 영역에 포커스를 어떻게 추가합니까?
굉장합니다. 이것은 정말로 유용합니다. – Jake
진지하게. 이 기본 객체에이 객체를 추가하여 jeditable 객체를 모두 빌드 한 다음 원하는대로 페이지를 포맷 할 수 있습니다. 정말 유용합니다 ... – Jake
이것은 정말 좋은 답변입니다! 감사. –