Javascript 我得到了错误$(…)。即使在jQuery之后导入了引导,modal也不是一个函数。我如何解决这个问题(使用npm版本)?
在发布这期文章之前,我做了广泛的研究,觉得我已经用尽了在线文档和堆栈溢出 我的问题: 我正在将npm版本的引导与tempus dominus日期时间选择器脚本一起使用,并获得错误$(…)。尽管jQuery在引导之前导入,然后用于在后端实际导入引导,但modal不是一个函数,如下所示:Javascript 我得到了错误$(…)。即使在jQuery之后导入了引导,modal也不是一个函数。我如何解决这个问题(使用npm版本)?,javascript,jquery,node.js,npm,electron,Javascript,Jquery,Node.js,Npm,Electron,在发布这期文章之前,我做了广泛的研究,觉得我已经用尽了在线文档和堆栈溢出 我的问题: 我正在将npm版本的引导与tempus dominus日期时间选择器脚本一起使用,并获得错误$(…)。尽管jQuery在引导之前导入,然后用于在后端实际导入引导,但modal不是一个函数,如下所示: const ipcRenderer = require('electron').ipcRenderer const jQuery = require('jQuery'); const $ = require('jQ
const ipcRenderer = require('electron').ipcRenderer
const jQuery = require('jQuery');
const $ = require('jQuery');
require('popper.js')
const moment = require('moment')
$(document).ready(() => {
ipcRenderer.send('page-ready');
moment().format();
$.getScript("./js/tempusdominus-bootstrap-4.min.js", function() {
$(function () {
$('#datetimepicker1').datetimepicker({
format: 'YYYY-MM-DD HH:mm'
});
});
$(function () {
$('#datetimepicker2').datetimepicker({
format: 'YYYY-MM-DD HH:mm'
});
});
})
require("bootstrap")
});
我尝试过的事情:
因此,经过一些研究,我发现这可能是因为jQuery被导入了两次,以使另一个js脚本正常工作,所以我通过将代码更改为:
const ipcRenderer = require('electron').ipcRenderer
const jQuery = require('jQuery');
const $ = jQuery.noConflict();
require('popper.js')
const moment = require('moment')
$(document).ready(() => {
ipcRenderer.send('page-ready');
moment().format();
$.getScript("./js/tempusdominus-bootstrap-4.min.js", function() {
$(function () {
$('#datetimepicker1').datetimepicker({
format: 'YYYY-MM-DD HH:mm'
});
});
$(function () {
$('#datetimepicker2').datetimepicker({
format: 'YYYY-MM-DD HH:mm'
});
});
})
require("bootstrap")
});
调用模态的代码:
ipcRenderer.on("edit-self-result", (event, arg) => {
if (arg == false) {
$('#editMemberModal').modal('toggle');
document.getElementById("userTypeEdit").value = usertype
document.getElementById("usernameEdit").value = username
document.getElementById("emailEdit").value = email
}
})
我应该让你试试这个
$("..")[0].modal
经过几个小时的努力,我终于找到了一个有效的解决方案。我不知道为什么会这样,但如果有人想改变这个答案来解释为什么会这样 但我改变了我的代码:
const jQuery = require('jQuery');
const $ = jQuery.noConflict();
为此:
global.jQuery = require('jquery');
global.$ = jQuery.noConflict();
您好,我担心这没有效果,我仍然会遇到同样的问题如果您将
require(“bootstrap”)
放在doc ready之外怎么办?可能是ipcRenderer在加载引导程序之前启动了吗?当我按下按钮从后台获取数据并将其发送到前端时,它不应该启动得太早,所以它不应该启动得太早,但我尝试了您的建议,结果没有什么不同。modal()可以在页面上的其他地方工作吗?是否有其他引导js(核心引导,而非第三方插件)可以工作?也许你有一个版本的bootstrap不包括modal?$(…)。modal(…)
在我的页面上的任何其他地方都不起作用,我不确定是否有其他bootstrap js起作用,但我可以确认它肯定是成功导入的:你的屏幕截图还显示jquery加载了两次。检查network选项卡以确保jquery在引导后没有被(重新)加载,因为这将删除引导功能。