Элемент управления ActiveX загружается в зависимости от браузера и других факторов.
Для обработки событий из элемента управления ActiveX простой jquery .bind('Event', ...)
не будет работать.Вместо этого мне кажется, что мой единственный выбор - использовать привязку в стиле <script ... for='myPlugin' event='Event'></script>
.
1) Кажется, что если тег script статически является частью HTML и загружается до того, как элемент управления существует на странице,тогда IE не будет запускать событие 2) Жесткое кодирование идентификаторов объектов недопустимо, если необходимо (динамически) несколько экземпляров плагина
Но когда я добавляю следующий код, я получаю "'param1'is undefined' немедленно, до того, как событие должно сработать (я почти уверен, что это не в ответ на срабатывание события).
$('HEAD').append($('<script language="javascript" ' +
'type="text/javascript" for="myPlugin" event="Event(param1)">' +
'$('#myPlugin').triggerHandler("jQueryBoundEvent", [ param1 ]);' +
'<' + '/script>'));
Из Интернета я понял, что jQuery мешает работедобавление тегов сценария и довольно eval () с ними.Это объясняет несвязанный param1 и немедленное выполнение скрипта.Атрибуты сценария for и события теряются во время eval ().
Есть ли другой способ динамической загрузки плагина и присоединения к его событиям без жесткого кодирования обработчиков?
=======
В качестве альтернативы из различных сообщений видно, что хотя $ .bind () не работает для плагинов ActiveX и XPI, но метод attachEvent () или addEventListener () должен работать.Это тот случай?Я не смог подтвердить это для динамически добавленного плагина.