html元素的包装函数中的Javascript事件
Javascript event in a wrapper function for a html element
我有以下问题:假设在我的html页面中,我有以下元素:
<button onclick="myfunction(id)">Save</button>
在我的javascript文件中
(function(){
function myfunction(id){
// magic happends
};
})();
在这种情况下,它不起作用,因为myfunction被包装在iife函数中,所以我的问题是:是否有一种最佳实践可以将JavaScript逻辑保留在包装函数中,同时可以访问HTML elment
是否有一种最佳实践可以将JavaScript逻辑保留在包装器函数中,同时对HTML元素进行访问?
根据应用程序的结构,最好的方法是不使用内联事件处理程序,而是使用DOM API绑定处理程序:
(function(){
function myfunction(id){
// magic happends
};
button.addEventListener('click', myfunction);
})();
有关事件处理的详细信息。
如果这不可能,并且您确实需要使用内联事件处理程序,那么您可以始终将函数设置为全局的:
(function(){
window.myfunction = function myfunction(id){
// magic happends
};
})();
相关文章:
- 如何将javascript事件从web浏览器wpf控件发送到wpf的c#代码
- 在同一个javascript事件处理程序中调用不同的函数
- Javascript事件;在新选项卡中打开”;
- 存在每个时间元素的javascript事件
- Javascript事件.锚的目标问题
- 带有参数的Javascript事件处理程序
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- firefox中的Javascript事件范围问题
- Firefox中的JavaScript事件参数
- 在动态加载的PHP表单上放置JavaScript事件
- 如何在Javascript事件上从JSNI设置GWTClass字段
- Javascript事件发射器一次处理多个事件
- 在下拉式javascript事件监听器中选择时触发事件
- 在javascript中导入xlsx文件时,如何手动强制javascript事件
- 显示触发的JavaScript事件
- 正在取消IE11中的JavaScript事件
- 页面卸载期间的JavaScript事件循环
- 存在其他参数时访问Javascript事件
- 阻止Javascript事件影响子元素
- 如何在事件处理程序中获取 javascript 事件对象