【发布时间】:2011-10-11 18:15:59
【问题描述】:
PopBox 插件可用于在您单击文本区域时在其自己的窗口中弹出一个文本区域。但是,我希望在用户单击按钮时出现 PopBox,而不是在文本区域内。有没有办法为此修改 PopBox 功能?
tl;dr:我希望 PopBox 在调用函数时弹出,而不是在文本区域内单击时弹出
【问题讨论】:
标签: javascript jquery textarea
PopBox 插件可用于在您单击文本区域时在其自己的窗口中弹出一个文本区域。但是,我希望在用户单击按钮时出现 PopBox,而不是在文本区域内。有没有办法为此修改 PopBox 功能?
tl;dr:我希望 PopBox 在调用函数时弹出,而不是在文本区域内单击时弹出
【问题讨论】:
标签: javascript jquery textarea
如果您查看popBox source,您会看到当popBox 应用于元素时(通过$('#yourElement')).popBox(),有一个focus 事件绑定到它:
obj.focus(function () { $(this).next(".popBox-holder").show(); var
popBoxContainer = $(this).next().next(".popBox-container");
// ...edited for brevity...
});
将点击事件附加到您的按钮,并在其中通过触发上述focus 事件来触发弹出框:
// Attach a click event handler to your button
$('#yourButton').click(function(){
// Trigger the "focus" event on the popBox element
$('#yourElement').triggerHandler('focus');
});
显然,您可以修改它以满足您的需求 - 例如如果您不想显示初始 textarea 或 input,请隐藏它。
【讨论】:
triggerHandler() 方法的 jQuery 文档。