0
요소를 처리하고 JSON 응답을 처리하기 위해 일부 JS 함수를 작성하고 있습니다. 내가 겪고있는 문제는 클릭 기능 외부에서 클릭 된 요소를 참조하는 것입니다.콜백 함수의 클릭 된 요소에 대한 동작
HTML의 모형 :
<div class="container">
<div class="link">
<a href="#" onclick="linkify()">Test</a>
</div>
<div class="output">
<textarea class="output-textarea"></textarea>
</div>
</div>
<div class="container">
<div class="link">
<a href="#" onclick="linkify()">Test</a>
</div>
<div class="output">
<textarea class="output-textarea"></textarea>
</div>
</div>
그리고 JS : http://jsfiddle.net/Lqaw05j8/4/ 내 바이올린에
은, 모든 변수와 이벤트가 발생 정의,하지만 내 jQuery를 DOM 탐색 :
// link function
function linkify() {
// save reference to click element
activeElement = $(this);
// make AJAX call
}
// callback function; the parameters of this function
// are defined by an API and cannot be changed
function callback(json) {
$(activeElement).closest('.container').find('.output-textarea').val(json);
}
여기 jsFiddle 작동하지 않습니다.
AJAX 호출 및 콜백 API에서 하드 코드 된 및 변경할 수 없으므로이 제한을 해결하려면 내 시도입니다. AJAX 호출이나 콜백 매개 변수를 변경하지 않고이 작업을 수행하는 더 좋은 방법이 있습니까? – HasecBinUsr
매개 변수를 전달하지 않으면'linkify()'가 클릭 한 요소를 알 수있는 방법이 없습니다. 일부 브라우저는 전역 변수'event'를 가지고 있으므로'event.target'는 작동하지만 Firefox에서는 작동하지 않습니다. – Barmar