Проблема с onClick(а может и не с ним %))
Автор Taras, 26 ноя 2010 19:17
Сообщений в теме: 6
#1
Отправлено 26 ноября 2010 - 19:17
Снова я уперся в проблему, которую не могу решить. Ситуация такая. Есть псевдовыпадающее меню, т.е поле, которое на onClick открывает скрытый списокопций. В фф в отлично, в ИЕ не появляется это скрытое окно, хотя кли проходит на ура. Не пог clickAt, mouseDown/Up, fireEvent(focus)+click, fireEvent(click), etc. Что делать не знаю, завтра еще подкину код страницы, сам не могу найти где вызывается onClick. Help Please!
#2
Отправлено 29 ноября 2010 - 06:05
Для начала хотелось бы понять что такое "псевдовыпадающее меню" в данном случае. Собственно отсюда и плясать.
#3
Отправлено 29 ноября 2010 - 06:37
контекстный поиск?..Для начала хотелось бы понять что такое "псевдовыпадающее меню" в данном случае. Собственно отсюда и плясать.
Taras, Давайте код
#4
Отправлено 29 ноября 2010 - 07:33
Это не меню)контекстный поиск?..
#5
Отправлено 29 ноября 2010 - 09:26
Всем доброе утро! Сегодня рассмотрел код, все ще хуже чем я думал. В разработке программисты используют Tibco General Interface если кто-то знает что это такое, а если в двух словах, это ср-во разработки со своими методами, в исходниках что-то написано в JavaScript, но лезть туда никто не хочет. Я думаю нет смысла выкладывать код, там создается Тибковский объект Select, который визуально выглядит как текстовое поле, которе на onClick делает видимым скрытый елемент с пунктами меню; после выбора пункта в текстовое поле присваивается value выбранного пункта. Надеюсь не слишком путано написал.Это не меню)
контекстный поиск?..
Остается только нажимать клавишу мышки на этом поле, но как?
#6
Отправлено 29 ноября 2010 - 10:15
Давайте код элемента и скриптиков которые там могут оказаться задействованными)
#7
Отправлено 29 ноября 2010 - 11:24
Очень сложно разрбраться, я боюсь не смогу представить вам код в красивом виде, но ладно, примерно так
Select_prototype._doClickItem = function(objEvent, objGUI) { var optionGUI = objEvent.srcElement(); //locate the jsxid property for the option (an HTML element) that was clicked by the user while (optionGUI != null && (!optionGUI.getAttribute || optionGUI.getAttribute("jsxid") == null)) { optionGUI = optionGUI.parentNode; if (optionGUI == objGUI) optionGUI = null; } //a valid click event occurred; update the id of the selected item/deref the old item if (optionGUI != null) this._doSelectRecord(objEvent, optionGUI.getAttribute("jsxid")); //hide options group and give focus to the persistent sel box this.hide(true); };Далее следует такой код
var strHTML = '<div tabindex="0" jsxselid="' + this.getId() + '"' + this.renderHandler(Event.KEYDOWN, "_doKeyDownItem") + this.renderHandler(Event.CLICK, "_doClickItem") + this.renderHandler(Event.MOUSEDOWN, "_doMouseDownItem") + this.renderHandler(Event.MOUSEOVER, "_doMouseOverItem") + ' jsxtype="Options" class="jsx30select_optionlist" style="' + this.paintBackgroundColor() + 'min-width:' + spacerWidth + 'px;' + this.paintFontName() + this.paintFontSize() + this.paintFontWeight() + this.paintTextAlign() + '">' + spacer + strContent + '</div>';Из этого следует, что _doClickItem=JSClick, просто Tiblo использует только свои методы. С программистом договорились сбацать костыль, типа того, что вся эта жесть будет вызываться каким-нибудь JS методом. Но это завтра, а сегодня я еще думаю.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных