Зависание в zeroclipboard
Я пытаюсь реализовать флэш-компонент, используемый на retailmenot.com, и столкнулся с некоторыми проблемами.
После нескольких дней поиска и тому подобного мне удалось выполнить элемент флеш-карты zeroclipboard, чтобы просмотреть несколько кодов купонов, и когда я нажал на один из них, чтобы открыть новый URL с этой ссылкой.
Что я не могу сделать сейчас, и что я попытался с помощью нескольких методов jQuery, так это отобразить это окно "Копировать и открыть сайт" справа от элемента нахождения, на котором я нахожусь. Это похоже на всплывающую подсказку.
Я попытался применить к элементу dom, который находится под невидимой вспышкой, метод $('. Class_element'). Hover( function (){ } отображать новый div слева), но так как вспышка идет сверху, это не так срабатывает.
Еще одна попытка, которую я предпринял, состояла в том, чтобы изменить файл Zeroclipboard.js и добавить идентификатор к абсолютному элементу div, в котором находится флеш-память, и добавить на него событие hover, но все же это было безуспешно.
Я также пытался использовать addEventListner('mouseover', function(){}) из элемента Zeroclipboard, но пока безуспешно.
Не могли бы вы предложить мне, как я мог бы создать какую-то подсказку для компонентов флэш-памяти, которые располагаются поверх элементов dom?
Спасибо!
2 ответа
Flash по умолчанию отображается в отдельном окне, а не внутри DOM. Чтобы Flash вошел в DOM, добавьте параметр wmode
в opaque
, Если вы загрузите flash с помощью swfobject, синтаксис будет:
so.addParam('wmode','opaque');
Кроме того, элемент Flash должен знать высоту и ширину контейнера, в котором он находится, поэтому вы не можете использовать .hide()
а также .show()
когда зависать и выходить. Один из приемов, которые я изучаю на вкладках пользовательского интерфейса jQuery, заключается в том, что "скрытый" элемент помещается в отрицательную позицию. Когда необходимо, установите его в правильное положение, когда не нужно, верните его в отрицательное положение.
Добавление слушателей событий должно работать. Я использую их в сочетании с OpenTip. Вот как я это сделал:
var clip = new ZeroClipboard($("#copy-button"));
clip.addEventListener('onMouseOver', function(){
console.log("mouseOver"); // code to show tool tip goes here
});
clip.addEventListener('onMouseOut', function(){
console.log("mouseOut"); // code to hide tool tip goes here
});