我有以下js文件,我想从另一个函数访问一个函数,但我在另一个js文件中调用它。我在调用Uncaught ReferenceError: vidPause is not defined
时收到此错误。
(function($) {
$.fn.controlls = function(opt) {
......
function init() {
.....
}
function vidPause(e){
e.stopPropagation();
$.fn.controlls.toggleBarPlayingButtons('pause');
video.pause();
}
.....
从这个js文件中我想在另一个js文件中的以下函数中调用vidPause
function myFunction(e) {
if (video) {
$('video').controlls(vidPause());
答案 0 :(得分:0)
这个问题是范围。
init()
和vidPause()
是(function($) {
电话的私密内容。它们不会像您尝试访问它们那样直接访问。
许多jquery插件使用文本(不是我的偏好,但它们是如何工作的),例如$ .dialog(" open"),所以你可以做类似的事情(不确定是否opt意味着行动,因此相应更新):
(function($) {
$.fn.controlls = function(action, opt) {
switch (action) {
case "pause":
vidPause(opt);
break;
...
使用
$('video').controlls("pause");
有可能像使用命名空间一样添加方法,但是我没有在插件中看到这一点,所以取决于你使用插件做什么(即释放它)是否要保持一致,例如:
(function($) {
$.fn.controlls = {};
$.fn.controlls.pause = function(opt) {
video.pause();
...
使用
$('video').controlls.pause()