파이어 폭스 확장 기능을 개발 중이고 방화범 같은 요소의 상태를 :hover
상태로 시뮬레이트하고 싶습니다.설정 방법 : inIDOMUtils :: setContentState를 사용하여 DOM 요소의 상태를 가리 키시겠습니까?
my-script-file.js
에서 I [0] DOM 요소하지 JQuery와 오브젝트를 얻는 것을 소자 오브젝트 예 $('#myDiv')[0]
메모 self.port
를 사용 mousehover
을 방출한다.
이 코드는 작동하지 않으며 오류가 발생합니다 (domUtil.setContentState(step.element, 0x04);
줄). 오류입니다 : 내가 setContentState() 정의 파이어 폭스 문서 사이트에 가서 내가 여기 내 선택 element
nsIDOMElement
에 개체를 변환하는 방법을 내 요소가 nsIDOMElement
내 질문의 인스턴스 여야합니다 notited
.
또는 실제로 여기서 내 질문은 또는 jquery $()
에 의해 선택된 요소에 :hover
을 강제로 적용하는 방법입니다.
나는 불을 지르고 소스 코드를 읽고이 조각을 마련 :
var {Cc, Ci, Cr} = require("chrome");
var domUtil = Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
exports.main = function() {
var attachToTab = function(tab)
{
if(currentWorker)
currentWorker.destroy();
currentWorker = tab.attach({
contentScriptFile: [data.url("jquery.js"), data.url("my-script-file.js")]
});
currentWorker.port.on('mousehover', function(element){
console.log('doing setContentState :hover');
domUtil.setContentState(element, 0x04);
});
}
require("widget").Widget({
id: "MyAddonBtn",
label: "Sample",
contentURL: data.url("images/addon.ico"),
onClick: function(){
attachToTab(tabs.activeTab);
}
});
}
멋진 정보와 짧은 정보를 보내 주셔서 감사합니다. –