D3을 사용하여 일부 텍스트 객체가 분산되어있는지도를 만듭니다. 각 텍스트 객체에는 ID 속성이 추가되고 값에 대한 일부 단어가 있습니다. 여기에 내가 만드는 오전 이해하는 몇 가지 예제 코드입니다 : 내가 직접 내 브라우저 (파이어 폭스 45)에서 "소"텍스트 boject을 클릭하면Jquery는 클릭을 호출 할 수 없지만 마우스로 수동으로 수행 할 수 있습니다.
g.selectAll("text")
.data(data).enter()
.append("text")
.attr("id", function(d,i){return "cows_name";})
.text(function(d) { return "cows"; })
.on("click", function(d) {
alert("### we are in here" with $(this).attr("id"));
})
이 경고 이벤트가 호출 될 때, 그리고 그 결론을 내릴 수 있어요 id 속성은 "cows_name"을 다시 리턴합니다. 그러나
, 내가 셀레늄 또는 스크래치 패드 중이 jQuery 코드를 호출 할 :
var toClick = $("#cows_name")
toClick.click();
아무것도 전혀 발생하지 않습니다. 내가 위의 스크립트를 사용하여 생성 된 D3 객체를 "클릭"하는 올바른 방법은 무엇입니까?
var toClick = $("#cow_name")[0];
이 실제 DOM 요소를 선택 :
당신은'selectAll ("text")'을 실행합니다. 요소 위에'cows_name'을 가진 요소가 더 많으므로 모호한가요? – Paul
click()은 SVG 요소가 아닌 HTML 요소에 존재하는 메서드입니다. –
경보 장소에 $ (this)를 기록하여 cow_name 요소를 반환하는지 확인할 수 있습니까 –