我正在使用SumoSelect v3.0.3在我的选择标签上(它使多选选项),但我在处理Android设备上的事件时遇到了问题。在关闭选择标签时,
但是这个解决方案在安卓上也没用... 编辑: 我尝试在Sumoselect js文件中添加以下内容
alert()
不会出现。
只需要在关闭sumo select时调用我的函数或触发任何事件。在Android和桌面上都可以...
- 正确的解决方案可能在较旧的3.0.2版本中...
这里有一个工作的fiddle:链接 - 打开并关闭选择输入后,在桌面上您可以看到一个带有“下拉关闭!”文本的警报窗口,但在android设备上则不会...
// .class pointing to <select> tag
$('.class').SumoSelect({placeholder: 'Select choice'});
$('select').on('sumo:closed', function(sumo) {
alert("Drop down closed!");
});
在桌面上(Firefox / Chrome)可以正常工作...有什么建议吗?
我对javascript / jquery很弱,但在以前的版本(3.0.2)中,我在sumoselect.js插件中直接使用自己的触发器 $(document).trigger('sumoCloseSelect');
,就像这样(最后一行):
showOpts: function () {
var O = this;
if (O.E.attr('disabled')) return; // if select is disabled then retrun
O.is_opened = true;
O.select.addClass('open');
if(O.ftxt)O.ftxt.focus();
else O.select.focus();
// hide options on click outside.
$(document).on('click.sumo', function (e) {
if (!O.select.is(e.target) // if the target of the click isn't the container...
&& O.select.has(e.target).length === 0){ // ... nor a descendant of the container
if(!O.is_opened)return;
O.hideOpts();
$(document).trigger('sumoCloseSelect');
(是的,非常肮脏)之后,在我的main.js文件中:
$(document).on('sumoCloseSelect', function(e) {
alert('Drop down closed!');
...
但是这个解决方案在安卓上也没用... 编辑: 我尝试在Sumoselect js文件中添加以下内容
jQuery.myFunction();
(与之前的示例相似),并在自己的js文件中定义它。 jQuery.myFunction= function(){
alert('yep!');
};
对于桌面设备,它可以工作,但对于Android设备不行...
编辑2:
使用初始化设置forceCustomRendering: true
可以使所有触发器都起作用. 但我想将此设置为false
(默认值)。