SumoSelect在安卓设备上无法处理事件

6
我正在使用SumoSelect v3.0.3在我的选择标签上(它使多选选项),但我在处理Android设备上的事件时遇到了问题。在关闭选择标签时,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(默认值)。

1个回答

0

你为什么要使用sumo插件来捕获触发器?你想要做什么?

例如,你可以这样做

$(document).on('change', 'select.class', function(sumo) {
  alert("Drop down closed!");
});

https://jsfiddle.net/5dy8j54n/14/


1
我需要在关闭事件上找到解决方案,而不是在更改事件上。 - Lajdák Marek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接