这是我在JS
文件中的正常功能。我需要在closeHomeScreenPopup
内部定义的document.getElementById("addToHomeScreenPrompt").innerHTML
函数。如您所见,我已经将onclick
作为字符串传递了。
export default function register() {
// Checks if should display install popup notification:
if (isIos() && !isInStandaloneMode()) {
function closeHomeScreenPopup() {
console.log("jkjilkjlkjlkjlkjlkjlk");
}
document.getElementById("addToHomeScreenPrompt").innerHTML =
'<div onclick="closeHomeScreenPopup()"><span class="plush--sign">+</span><p>Install the webapp on your iPhone:tap <img style="width: 20px; margin: 0 4px;" alt="" src="img/share_icon.png"/> and then Add to homescreen.</p></div>';
}
}
但是在onclick
上进行div
时出现错误
Uncaught ReferenceError: closeHomeScreenPopup is not defined
at HTMLDivElement.onclick (temperature-schedule?roomId=2:51)
如何从closeHomeScreenPopup
内部调用inner.html
答案 0 :(得分:2)
JS中的所有内容都必须包含作用域。因此,如果直接在 register 函数中定义函数,则该函数将不会绑定到 window 对象。
closeHomeScreenPopup 函数应全局定义
window[closeHomeScreenPopup] = function() {
console.log("jkjilkjlkjlkjlkjlkjlk");
}
function closeHomeScreenPopup() {
console.log("jkjilkjlkjlkjlkjlkjlk");
}
document.getElementById("addToHomeScreenPrompt").innerHTML =
'<div onclick="closeHomeScreenPopup()"><span class="plush--sign">+</span><p>Install the webapp on your iPhone:tap <img style="width: 20px; margin: 0 4px;" alt="" src="img/share_icon.png"/> and then Add to homescreen.</p></div>';
<div id="addToHomeScreenPrompt"></div>