具有以下html
:
<div id="plugin">
<script>
(function(){
this.do = function(e){
alert("cool!");
};
});
<script>
<div>
如何调用
this.do
(例如,从父元素单击按钮事件处理程序)?也许更多信息将有助于建议正确的解决方案。这是一个插件,我希望标记和脚本都属于同一文件。我还希望能够执行以下操作:
插件外部的
$("#plugin").*controller*.do();
。这是一个受斯科特回答启发的候选解决方案:
<div>
(function(){
var plugin = $("#plugin");
plugin.do = function(e){ alert("cool!"); };
});
</div>
然后从外面:
$("#plugin").do();
有什么问题吗?
最佳答案
你为什么反对这样做?
<script>
function do(){
alert('cool!');
}
<script>
你可以做:
<script>
window.do = function(){
...
}
</script>
然后是其他地方:
window.do()