Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   При нажатии имитировать клик на области (https://javascript.ru/forum/jquery/53856-pri-nazhatii-imitirovat-klik-na-oblasti.html)

Delfiniys 21.02.2015 12:19

При нажатии имитировать клик на области
 
Уважаемы ГУРУ прошли сутки почти без сна, в одной причине.
Есть редактор текста (как например тут) и в него мне надо вставить новую кнопочку и что бы по нажатии на нее происходили каки ето действия...
Сутки бьюсь но реально не могу *( Если у кого то есть 1 минутка глянуть подсказать был бы очень благодарен - так как немного далек я от этого, только учусь. Пытался сам но все безуспешно:help: :help: :help:

Код панельки
var ls = ls || {};

/**
* Различные настройки
*/
ls.settings = (function ($) {

	this.getMarkitup = function() {
		return {
			
			
	{separator:'---------------' },			
		{name: ls.lang.get('panel_images'), className:'editor-pictures', key:'W', beforeInsert:function(l) {			

	  ('#z-1').click();

		}

},	

{separator:'---------------' },	

				{name: ls.lang.get('panel_image'), className:'editor-picture', key:'P', beforeInsert: function(h) { jQuery('#window_upload_img').jqmShow(); } },
				{name: ls.lang.get('panel_video'), className:'editor-video', replaceWith:'<video>[!['+ls.lang.get('panel_video_promt')+':!:http://]!]</video>' },
				{name: ls.lang.get('panel_url'), className:'editor-link', key:'L', openWith:'<a href="[!['+ls.lang.get('panel_url_promt')+':!:http://]!]"(!( title="[![Title]!]")!)>', closeWith:'</a>', placeHolder:'Your text to link...' },
				{name: ls.lang.get('panel_user'), className:'editor-user', replaceWith:'<ls user="[!['+ls.lang.get('panel_user_promt')+']!]" />' },
				


				{separator:'---------------' },
				{name: ls.lang.get('panel_clear_tags'), className:'editor-clean', replaceWith: function(markitup) { return markitup.selection.replace(/<(.*?)>/g, "") } },
				{name: 'cпойлер', className:'editor-spoiler', openWith:'<spoiler title="Заглянуть под спойлер">', closeWith:'</spoiler>' },
				{name: ls.lang.get('panel_cut'), className:'editor-cut', replaceWith: function(markitup) { if (markitup.selection) return '<cut name="'+markitup.selection+'">'; else return '<cut>' }}


Я по аналогии прописал новую кнопочку ( добавил там в CSS и в картинки - она есть, но обработьа ее нажатие :blink:

Моя кнопочка
{name: ls.lang.get('panel_images'), className:'editor-pictures', key:'W', beforeInsert:function(l) {			

	  ('#z-1').click();

		}


В загружаемом отдельно html файле в котором подгружается этот редактор есть такое место

<ul>

   <li class="upload-link"><a href="javascript:ls.image.showForm()" id="image-start-upload"><span  id="z-1">Загрузить</span></a></li>
</ul>


По факту это флеш объект который открывает новое окно загрузки изображений.

КАК мне их соединить, что бы при нажатии на кнопочку в редакторе срабатывало типа я нажал на эту ссылку.

ПОМОГИТЕ люди добрые :help: :help:

danik.js 21.02.2015 12:29

ls.image.showForm()

Delfiniys 21.02.2015 12:32

То-есть строка в меню редактора должна быть
{name: ls.lang.get('panel_images'), className:'editor-pictures', key:'W', beforeInsert:function foo() {
$("ls.image.showForm()
").click();
}
},


? - в этом я четсно ТУП как пробка - только осваиваю (

Delfiniys 21.02.2015 12:36

не сработало ((

Попробовал вот так - просто ошибка и форма вообще не выводится.

{name: ls.lang.get('panel_images'), className:'editor-pictures', key:'W', beforeInsert:function ls.image.showForm()},

danik.js 21.02.2015 13:23

Цитата:

Сообщение от Delfiniys
я четсно ТУП как пробка

Теперь вижу...
beforeInsert: function() { ls.image.showForm() }

Delfiniys 21.02.2015 16:19

{name: ls.lang.get('panel_images'), className:'editor-pictures', key:'W', beforeInsert: function() { ls.image.showForm() } },


:cray: :cray: Не срабатывает *((

danik.js 21.02.2015 16:46

Открой консоль (F12), проверь нет ли ошибок. Запусти из консоли:
Код:

ls.image.showForm()
Должна отобразиться форма. Если не отображается, значит чет ты напутал и это не окно загрузки, а чета другое.

Delfiniys 21.02.2015 16:57

ls.image.showForm()
undefined

Все полуичлось но немного не так форма вылазит, НО она для не такая для одного файла так сказать *((

Вот в коде сраницы: сюда надо жать
<ul>

   <li class="upload-link"><a href="javascript:ls.image.showForm()" id="image-start-upload">Загрузить</li>
</ul>



Моет это потому, что там форма как бы флеш?

в меню редактора я вставил вот так
{name: ls.lang.get('panel_images'), className:'editor-pictures', key:'W', beforeInsert: function() { ls.image.showForm() } },


Просто если нажать на кнопку ЗАГРУЗКА то открывается окно для мультиаплоада, а если через ту констркуцию выше то появляется окошечко в котром надо еще нажать на "выбор" ( только 1 ого файла) и загрузить!" Может быть не передается ИД там, или что то еще (((

Delfiniys 21.02.2015 17:10

Нашел ошибку почему форму ВЫВОДИЛО в 1 файл - был не закрыт тег А. Когда закрыл опять все по новой просто не выводит (((

ls.image.showForm()
undefined

в консоле тоже ошибок нет (((

Delfiniys 21.02.2015 17:12

и поправил тег А
в исходном коде появилось такое

<ul>

   <li class="upload-link"><object id="SWFUpload_0" type="application/x-shockwave-flash" data="http://ukrshopper.info/engine/lib/external/swfupload/swfupload.swf?preventswfcaching=1424527736780" width="122" height="30" class="swfupload"><param name="wmode" value="transparent"><param name="movie" value="http://ukrshopper.info/engine/lib/external/swfupload/swfupload.swf?preventswfcaching=1424527736780"><param name="quality" value="high"><param name="menu" value="false"><param name="allowScriptAccess" value="always"><param name="flashvars" value="movieName=SWFUpload_0&amp;uploadURL=http%3A%2F%2Fukrshopper.info%2Fimage%2Fupload&amp;useQueryString=false&amp;requeueOnError=f
alse&amp;httpSuccess=&amp;assumeSuccessTimeout=0&amp;params=SSID%3D6e81213d0a2c597b4476505bcb771834%26amp%3Bsecurity_ls_key%3D1649a56498ee96551cb75db697c19c00%26amp%3Btopic_id%3D%26amp*
size%3A%2014px%3B%20%7D&amp;buttonAction=-110&amp;buttonDisabled=false&amp;buttonCursor=-2"></object></li>
</ul>


Часовой пояс GMT +3, время: 07:59.