首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript中的Rails6表单输入元素更改事件处理程序

问javascript中的Rails6表单输入元素更改事件处理程序
EN

Stack Overflow用户
提问于 2021-04-16 11:35:43
回答 2查看 88关注 0票数 0

自从用webpacker升级到Rails6后,这就不起作用了,我不知道我的语法是普通的还是jquery,有人能告诉我吗,我想我需要给我的html添加一个jquery.min.js脚本标签,我不确定

代码语言:javascript
复制
    document.on("turbolinks:load", () => {

        $('#element_id').change(function(e) {
        // do something
        })

    })
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-13 02:29:10

您需要先添加带有yarn的jQuery

代码语言:javascript
复制
$yarn add jquery

然后需要在jQuery /webpack/environment.js ment.js中配置您的环境

代码语言:javascript
复制
const { environment } = require('@rails/webpacker')

const webpack = require('webpack')
environment.plugins.prepend('Provide',
  new webpack.ProvidePlugin({
    $: 'jquery/src/jquery',
    jQuery: 'jquery/src/jquery'
  })
)

module.exports = environment

创建您的jQuery代码并将.js文件放入app/javascript/packs中,然后在app/javascript/packs/application.js中注册/导入您的代码

代码语言:javascript
复制
import Rails from "@rails/ujs"
import Turbolinks from "turbolinks"
import * as ActiveStorage from "@rails/activestorage"
import "channels"
import "jquery"
import "packs/sample1" // this will be sample1.js file
import "packs/sample2"
import "packs/styles.scss"

Rails.start()
Turbolinks.start()
ActiveStorage.start()

这应该可以工作,祝你好运编码,享受Rails!

票数 0
EN

Stack Overflow用户

发布于 2021-04-16 12:46:03

可能是个小错误。我想你漏掉了括号。

代码语言:javascript
复制
$(document).on("turbolinks:load", () => {

    $('#element_id').change(function(e) {
      // do something
    })

})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67118751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档