Bootstrap Switch事件处理程序无法正常工作
我在这里问了一个与此类似的问题,但现在我仍然坚持使用Bootstrap Switch的事件处理程序 。 我想在交换机切换时打印出状态。 目前,它仅在单击时切换状态,并且不会触发新事件。
以下是我的一些设置:
some.js
$(document).ready(function() { $("#famous-people-switch").bootstrapSwitch(); $("#famous-people-switch").on("switchChange", function (e, data) { console.log(data.value); }); });
some.html.erb
Famous People:
gem
Using sass (3.3.2) Using bootstrap-sass (3.1.1.0) Using bootstrap-switch-rails (2.0.2) Using jquery-rails (3.1.0) Using sass-rails (4.0.1)
Application.css.scss
@import "bootstrap"; @import "bootstrap3-switch";
的application.js
//= require jquery //= require jquery_ujs //= require bootstrap //= require bootstrap-switch // //= require_tree .
由于bootstrap-switch的版本,事件未被触发。 版本2不包含它们,并且gem目前仅支持版本2.我已经提交了拉取请求以将gem更新到版本3(仍在开发中)。
第3版分支 : https : //github.com/tomprats/bootstrap-switch-rails/tree/allow-switch-v3
拉请求 : https : //github.com/manuelvanrijn/bootstrap-switch-rails/pull/9
用法
更新您的Gemfile以使用正确的分支:
gem "bootstrap-switch-rails", git: "git://github.com/tomprats/bootstrap-switch-rails, branch: "allow-switch-v3"
更新Application.js文件:
//= require bootstrap-switch3
更新Application.css文件:
*= require bootstrap-switch3
或Application.css.scss文件:
@import "bootstrap-switch3";