[編集]問題は解決しました
編集可能なコンテンツを含む別の div 内に編集 (画像付きの div) ボタンがあります。私の計画は、カーソルがコンテンツ div の上に移動するまでボタンを非表示にすることです。
私の問題はdisplay:none;
、CSS で使用し、javascript 関数を使用して divButton を再度表示および非表示にすると、画像が FireFox に表示されないことです。
私が使用するelement.style.visibility = "visible";
と、FireFox は div をまったく表示しません。
どんな入力でも本当に感謝します:)
関連コード:
HTML
<div id="c1ContentSrc" class="widgetContent editable">
@Html.Raw(HttpUtility.HtmlDecode(row.column1Content))
<div id="c1ContentEdit" class="cmsEditButton"><img src="../../Content/images/cmsEdit.png" alt="edit" /></div>
</div>
CSS
.cmsEditButton{
display:none;
position:absolute;
top:37px;
right:8px;
width:16px;
height:16px;
}
代替 CSS
.cmsEditButton{
visibility:hidden;
position:absolute;
top:37px;
right:8px;
width:16px;
height:16px;
}
JavaScript 関数
function showEditButton(id, editId) {
if(editId.style.display == "none"){
if (!id.isContentEditable) {
editId.style.display = "block";
}
}else{
editId.style.display = "none";
}
}
代替 JavaScript コード
function showEditButton(id, editId) {
if (editId.style.visibility == "hidden" || editId.style.visibility == "") {
if (!id.isContentEditable) {
editId.style.visibility = "visible";
}
}else{
editId.style.visibility = "hidden";
}
}
関数呼び出し
document.getElementById("c1ContentSrc").addEventListener("mouseover", function () {
showEditButton(document.getElementById("c1ContentSrc"), document.getElementById("c1ContentEdit"))
}, false);
document.getElementById("c1ContentSrc").addEventListener("mouseout", function () {
showEditButton(document.getElementById("c1ContentSrc"), document.getElementById("c1ContentEdit"))
}, false);
問題は次の変更で解決されました。画像をカミソリ出力の上に移動しました。干渉しているようでした。また、不要な div を削除しました。
<div id="c1ContentSrc" class="widgetContent editable">
<img id="c1ContentEdit" class="cmsEditButton" title="edit" src="../../Content/images/cmsEdit.png" alt="edit" />
@Html.Raw(HttpUtility.HtmlDecode(row.column1Content))
</div>