Я пытаюсь написать расширение для google chrome, в котором я использую контекстное меню. Это контекстное меню доступно только для редактируемых элементов (например, вводимых текстов). Когда контекстное меню нажимается и выполняется, я хотел бы получить в функции обратного вызова элемент (текст ввода), на котором было выполнено контекстное меню, чтобы обновить значение, связанное с этим текстом ввода.
Вот скелет моего расширения:
function mycallback(info, tab) {
// missing part that refers to the question:
// how to retrieve elt which is assumed to be
// the element on which the contextMenu has been executed ?
elt.value = "my new value"
}
var id = chrome.contextMenus.create({
"title": "Click me",
"contexts": ["editable"],
"onclick": mycallback
});
Параметры, связанные с функцией mycallback, не содержат никакой полезной информации для получения элемента, на котором был сделан щелчок. Похоже, это известная проблема (http://code.google.com/p/chromium/issues/detail?id=39507), но прогресса нет уже несколько месяцев. Кто-нибудь знает обходной путь: без jquery и/или с jquery?