Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.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 如何在用户单击我的分机上的按钮时插入文本?_Javascript_Gnome_Gnome Shell_Gnome Shell Extensions - Fatal编程技术网

Javascript 如何在用户单击我的分机上的按钮时插入文本?

Javascript 如何在用户单击我的分机上的按钮时插入文本?,javascript,gnome,gnome-shell,gnome-shell-extensions,Javascript,Gnome,Gnome Shell,Gnome Shell Extensions,我正在写一个扩展,它在弹出窗口中显示两个项目:Hello和再见 我想做的是,当用户单击其中一个项目时,插入相应的文本 例如:我在gedit上,我想插入Hello。因此,我打开扩展,然后单击Hello,它就会出现在gedit上 以下是当前代码: this._menucontent = null; this._mymenu = new PopupMenu.PopupMenuItem(this._menucontent, { reactive: true }); item = new PopupM

我正在写一个扩展,它在弹出窗口中显示两个项目:Hello和再见

我想做的是,当用户单击其中一个项目时,插入相应的文本

例如:我在gedit上,我想插入Hello。因此,我打开扩展,然后单击Hello,它就会出现在gedit上

以下是当前代码:

this._menucontent = null;

this._mymenu = new PopupMenu.PopupMenuItem(this._menucontent, { reactive: true });

item = new PopupMenu.PopupMenuItem(_("Hello"));
this.menu.addMenuItem(item);
item = new PopupMenu.PopupMenuItem(_("Goodbye"));
this.menu.addMenuItem(item);

有人能帮我吗?

首先,您需要连接到可单击菜单项的发射信号,在本例中为“激活”信号:

    item.connect('activate', _FunctionToCall);
然后在函数中,您需要调用某种“粘贴”操作来插入文本。Gnome3扩展有一个从剪贴板粘贴文本的功能,因此,查看一下它的代码可能会给您一个提示:


它用于与终端窗口交互。

您找到解决方案了吗?