簡體   English   中英

使用jQuery在Firefox附加組件中檢查和取消選中菜單項

[英]Checking and unchecking menuitem in a Firefox add-on with jQuery

我正在使用的Firefox加載<menuitem type="checkbox" checked="true" label="Enabled">有一個<menuitem type="checkbox" checked="true" label="Enabled">元素。 我正在使用jQuery設置和取消設置checked屬性,如下所示:

var element = $("#extension-menupopup:first-child");
element.attr("checked", "false");
element.attr("label", "Disabled");
element.attr("tooltiptext", "Extension is disabled.");

前兩個.attr()調用似乎可以正常工作,但是“已啟用”旁邊的對勾標記不會消失, label也不會更改為“已禁用”。 驗證Scratchpad的“瀏覽器上下文”上的值,這些值分別返回為“ false”和“ Disabled”。 因此,屬性的值已正確設置,但是UI不會更新以顯示這些更改。 最后一行成功地正確設置了工具tooltiptext文本,並且UI更改立即可見。 如何使更改在用戶界面中可見?

jQuery似乎不適合該特定目的,盡管它在其他情況下也可以正常工作。 更改labelchecked屬性的方法是使用常規的javascript方法:

//get the element that needs to be modified
var element = document.getElementById("extension-menupopup").childNodes[0];
element.setAttribute("checked", false);
element.setAttribute("label", "Disabled");

另外,請注意此錯誤,以避免產生任何麻煩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM