나는이 같은 조금 보이는 방법이 있습니다JQuery와() 대표
function turnBlue()
{
$(this).css('background-color','blue');
}
function fillWithGoodies(obj)
{
var goodie_box = $("<div id='goodie_box'>Goodies! Click me and my parent will turn blue.</div>");
$(obj).append(goodie_box);
$(goodie_box).on('click', obj, turnBlue);
}
문제 turnBlue()가 호출 될 때, "이"는 goodie_box의 사업부는 점이다 obj가 아니라. (객체를 원한다)
JQuery는 .selector() 메소드를 사용했으나 사용하기에 안전하지 않습니다. 이 일 경우 http://api.jquery.com/selector/, 내가했을 것 :
$(goodie_box).on('click', $(obj).selector(), turnBlue);
구조를 변경하지 않고이 작업을 수행 할 수있는 방법이 있나요?
참고 : 나는 아래에서 대신 할 수 있음을 알고 있지만 여기의 예제는 실제 코드의 일부입니다. 내 질문은 : 당신이 어떻게 든 개체의 선택기를 얻을 수 있습니다.
// Don't want to have to do this:
$(obj).on('click', function() { doSomething(obj) });
참고 # 2 : 호출 부모()이 하나의 해결책이 아니다 : 진짜 코드는 복잡한 동적 객체를 생성하고 부모는 깊이 될 수 있습니다.
왜'$에 대한 passing data in jQuery.on()를 참조하십시오 (obj) .append ("
좋은 점. 내 예제가 정확하지 않습니다. Fixing .. – Anthony
YD1m 질문을 수정하면 – manraj82