Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript动态函数调用未定义 函数savefromtextarea()和varialbe globe在单击保存按钮时未定义。。。_Javascript_Jquery - Fatal编程技术网

javascript动态函数调用未定义 函数savefromtextarea()和varialbe globe在单击保存按钮时未定义。。。

javascript动态函数调用未定义 函数savefromtextarea()和varialbe globe在单击保存按钮时未定义。。。,javascript,jquery,Javascript,Jquery,这是我代码的一部分…单击save text按钮时,我需要访问save from texarea方法…当我尝试调用saveFromTextArea方法时,其抛出的globe未定义,但globe变量是全局变量 ME.ZFP.annotaion.Text = function () { //function to annotate the text var canvas = myscreen.getTempCanvas().ele; var context = canvas[0].getCo

这是我代码的一部分…单击save text按钮时,我需要访问save from texarea方法…当我尝试调用saveFromTextArea方法时,其抛出的globe未定义,但globe变量是全局变量

    ME.ZFP.annotaion.Text = function () { //function to annotate the text

var canvas = myscreen.getTempCanvas().ele;
var context = canvas[0].getContext('2d');
var global = this;

$(canvas).mousedown(function(e){ //on mouse down event 

    if ($('#textAreaPopUp').length === 0) {
        
        var mouseX = e.pageX - this.offsetLeft + $(canvas).position().left;
        var mouseY = e.pageY - this.offsetTop;

        //append a text area box to the canvas where the user clicked to enter in a comment
        var textArea = "<div id='textAreaPopUp' style='position:absolute;top:"+mouseY+"px;left:"+mouseX+"px;z-index:30;'><input type='text' id='textareaTest' ></input>";
     //Click on save buttom global.saveTextFromArea undefined
        var saveButton = "<input type='button' value='save' id='saveText' onclick='global.saveTextFromArea("+mouseY+","+mouseX+");'></div>";
        var appendString = textArea + saveButton;
        $("#container").append(appendString);
    } 
});
//Function to be called 
this.saveTextFromArea = function(y,x){
        //get the value of the textarea then destroy it and the save button
        var text = $('textarea#textareaTest').val();
        $('textarea#textareaTest').remove();
        $('#saveText').remove();
        $('#textAreaPopUp').remove();
    
}

   }
ME.ZFP.annotation.Text=function(){//用于注释文本的函数
var canvas=myscreen.getTempCanvas().ele;
var context=canvas[0]。getContext('2d');
var global=这个;
$(canvas).mousedown(函数(e){//on mouse down事件
如果($('#textAreaPopUp')。长度===0){
var mouseX=e.pageX-this.offsetLeft+$(canvas.position().left;
var mouseY=e.pageY-this.offsetTop;
//将文本区域框附加到用户单击以输入注释的画布
var textArea=“”;
//单击save buttom global.saveTextFromArea undefined
var saveButton=“”;
var appendString=textArea+saveButton;
$(“#容器”).append(appendString);
} 
});
//要调用的函数
this.saveTextFromArea=函数(y,x){
//获取textarea的值,然后销毁它并单击save按钮
var text=$('textarea#textareaTest').val();
$('textarea#textareaTest')。删除();
$('#saveText')。删除();
$('#textAreaPopUp')。删除();
}
}
谢谢
Ajain

您的代码有一些错误,已修复。
你忘了,
})在代码的最后。
最后(吹毛求疵)我纠正了:
if($('#textAreaPopUp').length==0)
to
if($('#textAreaPopUp')。长度===0)


但是。。此更正的代码是否解决了您的问题?

像您的
onclick='…'
这样的内联事件处理程序只能引用全局范围的变量和函数,但是如果名为
global
的变量在函数中声明(例如在document.ready处理程序中)然后它不是全局的,内联属性事件处理程序无法看到它。

我看不到任何地方定义的
saveTextFromArea
(或
savefromtextarea
)。你到底有什么问题?很明显,您的代码示例并不完整,因此我们很难(如果不是不可能的话)帮助您,因为还有许多未知因素。猜测是浪费我们和你的时间。请创建一个演示,显示错误并澄清您的问题。“动态调用”是什么意思?隐含的“静态调用”(无论这意味着什么)有效吗。。。请参考修改后的代码。错误是什么?如何修复它们?如果链接断开,你的答案就没用了。