Javascript 引导选择不触发移动设备上的更改事件

Javascript 引导选择不触发移动设备上的更改事件,javascript,android,jquery,ios,twitter-bootstrap,Javascript,Android,Jquery,Ios,Twitter Bootstrap,我正在使用它将本机选择转换为下拉列表 我的问题是,如果pc上的iOS或Android设备在正常浏览器中正常工作,则不会触发更改事件。如果我使用库的本机元素支持,则会在这些设备上触发更改事件 $('.selectpicker').selectpicker({ style: 'btn-info', size: 4 }); var submitSearchForm = function() { $(this).parents('form').submit()

我正在使用它将本机选择转换为下拉列表

我的问题是,如果pc上的iOS或Android设备在正常浏览器中正常工作,则不会触发更改事件。如果我使用库的本机元素支持,则会在这些设备上触发更改事件

  $('.selectpicker').selectpicker({
      style: 'btn-info',
      size: 4
  });


var submitSearchForm = function() {
    $(this).parents('form').submit();
};


$('.selectpicker').on('blur change', submitSearchForm);

有人有想法吗?

好的,这可能是因为页面中的引导选择的呈现。这应该行得通

$(document).on('change','.selectpicker',submitSearchForm)
或者,作为替代


$body.on'change','selectpicker',submitSearchForm

测试了ios safari和chrome、android chrome、桌面chrome&FF,对我来说效果很好

jsfiddle:

问题不在于插件,而可能在于一些附加代码

对测试和调试进行一些微小的更改:

移除模糊事件-当您单击选择框时,它将提交您的表单,由于未知原因,插件将聚焦并在单击选择框时立即模糊选择框。 确保在DOM就绪的$function{}上启动js;或者将脚本放在结束正文标记之前。 更改选择器-默认情况下,插件会识别.selectpicker,仅用于测试,确保它不会添加一些可能导致不必要行为的不必要事件。 使用安装了扩展的chrome devtools。使用inspector->go to jQuery events选项卡选择select框,并确保已附加更改事件,并且只有他,另一个更改事件可能会导致问题。 确保表单中没有~submit事件-它可能会阻止表单提交。 确保表单标记的action属性设置正确或根本没有定义。确保选择框是表单的子项,并且表单已正确关闭。
显然,问题是由我们看不到的附加代码引起的-如果这些测试对您不起作用,请添加您的代码或再现您的问题的演示,我们将更有能力帮助您。

您的代码是在jQuery或等效文件准备就绪后加载的吗?是否已加载到文档readyCan中?您可以告诉我如何操作吗使用更改事件?库将您的选择更改为一个按钮下拉列表,因此请使用$'.selectpicker'。单击'click','li a',submitSearchForm;我尝试了一下,但我不确定它是否有效,因为在pc上的普通浏览器中,更改事件正在工作。谢谢,我将尝试添加一个替代方案;在ios和android上没有帮助更改事件仍然不会触发。可能与屏幕大小有关,例如@media screen和max width:480px{…}。感谢您的回复,js fiddle证明它似乎有效。现在我必须为自己找出问题所在。如果我找到你的答案,我会接受的。