사용자 클릭을 기반으로 할 때까지 요소를 찾지 않는 트릭을 사용했습니다. 진짜 까다로운 부분은지도의 카드에 나타나는 MLS 번호 링크가 라이브 클릭 바인딩을 사용할 수 없도록 클릭 이벤트가 창에 전파되는 것을 중단하는 것이 었습니다.
나는 너무 오래 머물 수 없으므로 코드가 상당히 잘 읽혀 지므로 내 광기를 통해 길을 읽을 수 있어야합니다. ; 불을 지르고 콘솔)
는
ruleset a60x561 {
meta {
name "utahrealestate"
description <<
utahrealestate
>>
author "Mike Grace"
logging off
}
dispatch {
domain "utahrealestate.com"
}
rule search_for_realestate {
select when web pageview "\/search\/"
pre {
}
{
notify("title","content") with sticky = true;
emit <|
// sidebar click watching easy
// click event isn't being blocked so we can use .live and not
// worry about HTML being present at time of event listener binding
$K(".full_line a").live("click", function() {
console.log("sidebar mls clicked");
// get the report!!!
KOBJ.a60x561.getReport();
});
// pin on map mls number is a bit harder because click event is
// being blocked from propegating to the window
// to get around this we can
// 1) watch for click on pin
// 2) wait for mls element to load
// 3) attatch our own element level event listener
$K("#mapdiv_OpenLayers_Container image").click(function() {
console.log("pin on map clicked");
// attatch click event listener on mls element once it loads
setTimeout(function() {
KOBJ.a60x561.grabMls();
}, 500);
});
// ATATCH LISTENER TO MLS NUM ON MAP
KOBJ.a60x561.grabMls = function() {
console.log("looking for mls in hovercard");
// grab jQuery reference to element we are looking for
var $cardMls = $K("#property-overview a:first");
// only go on if it's on the page and visible
if (($cardMls.length > 0) && ($cardMls.is(":visible"))) {
console.log("foud mls on hevercard");
// watch for click on mls num on card
$cardMls.click(function() {
console.log("mls clicked on hovercard above map pin");
// get the report!!!
KOBJ.a60x561.getReport();
});
} else {
setTimeout(function() {
KOBJ.a60x561.grabMls();
}, 500);
};
};
// GRAB REALESTATE LISTING DETAILS ONCE IT LOADS IN THICK BOX
KOBJ.a60x561.getReport = function() {
if ($K("#public-report-wrap").length > 0) {
console.log("Listing details found!");
} else {
setTimeout(function() {
KOBJ.a60x561.getReport();
}, 500);
};
};
|>;
}
}
}
스크린 샷 내가 뭔가를 언뜻보다 약간 복잡합니다 응용 프로그램
을 테스트한다. 당신이 조금 힘들어하려고하는 것을 만들어내는 몇 가지 양상이 있습니다. 그래서 저는 지금 당장 대답을하려고 노력하고 있습니다. –
다른지도보기가 있습니다. 먼저 작업하고 싶은지도보기에 어떻게 접근 했습니까? 이야기하고있는 특정지도보기의 스크린 샷을 게시 할 수 있습니까? –
스크린 샷은 제가 언급 한 것과 정확히 같습니다. 게시 해 주셔서 감사합니다. 다른지도보기가 확실하지 않습니다. 나는 "Alpine, UT"라고하는 검색을하고 있는데,지도보기에서 결과를 보는 것입니다. 목록보기를 수행하고 속성보기를 클릭하면 해당 속성에 대한 페이지가로드되고 단추가 삽입됩니다. 그것은 js 함수를 트리거하기 위해 완전히로드 된시기를 어떻게 알 수 있는지 모르겠다는 두꺼운 상자보기입니다. – Dustin