Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.09.2015, 22:12
Аспирант
Отправить личное сообщение для BARABANTEMO Посмотреть профиль Найти все сообщения от BARABANTEMO
 
Регистрация: 15.03.2012
Сообщений: 79

запуск скрипта с помощью идентификатора
<textarea id="message" onKeyPress="return jilgeoves(this,event,'.geojilves');"></textarea>
<script type="text/javascript">
function imgjilves(t,th){var a=$(t).find("input.vesjilgeo");var lo=$($(th?th:a).find("input.vesjilgeo")).is(":checked");var e=t;lo?$(e).animate({"background-position-x":"0px","title":"ინგლისური კლავიატურის ჩართვა"},150,"linear"):$(e).animate({"background-position-x":"-28px","title":"ქართული კლავიატურის ჩართვა"},150,"linear");$(a).prop("checked",lo)}function jilgeoves(t,e,l){var checkbox=$("label"+l+" input.vesjilgeo");en={a:"ა",A:"ა",b:"ბ",B:"ბ",g:"გ",G:"გ",d:"დ",D:"დ",e:"ე",E:"ე",v:"ვ",V:"ვ",z:"ზ",Z:"ძ",t:"ტ",T:"თ",i:"ი",I:"ი",k:"კ",K:"კ",l:"ლ",L:"ლ",m:"მ",M:"მ",n:"ნ",N:"ნ",o:"ო",O:"ო",p:"პ",P:"პ",j:"ჯ",J:"ჟ",r:"რ",R:"ღ",s:"ს",S:"შ",u:"უ",U:"უ",f:"ფ",F:"ფ",q:"ქ",Q:"ქ",y:"ყ",Y:"ყ",c:"ც",C:"ჩ",w:"წ",W:"ჭ",x:"ხ",X:"ხ",h:"ჰ",H:"ჰ"};var e=e||window.event,c=e.keyCode||e.which,s=String.fromCharCode(c);if("`"==s)return checkbox.prop("checked",!checkbox.prop("checked")),imgjilves(l,l),!1;var r=eval("en."+s);return $(checkbox).is(":checked")?void 0==r?!0:($(t).val($(t).val()+r),!1):!0}
</script>
<label title="ინგლისური კლავიატურის ჩართვა" class="geojilves" onclick="imgjilves('.geojilves',this)" style="float:left; width:22px; height:18px; cursor:pointer; background:url('http://jil.do.am/che/001/img/001/geus.png') 0px 50% no-repeat;"><input checked="checked" style="display:none;" class="vesjilgeo" type="checkbox"></label>

как видите скрипт запускается этим
onKeyPress="return jilgeoves(this,event,'.geojilves');"

пожалуйста подскажите как сделать чтобы скрипт запускался по нажатию на блок с иденификатором id="message"
Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 06.09.2015, 22:52
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от BARABANTEMO
как сделать чтобы скрипт запускался по нажатию на блок с иденификатором id="message"
заменить onKeyPress на onclick. А если надо чтоб срабатывал не при каждом клике, а при получении фокуса в textarea, то onfocus
Ответить с цитированием
  #3 (permalink)  
Старый 07.09.2015, 00:07
Аспирант
Отправить личное сообщение для BARABANTEMO Посмотреть профиль Найти все сообщения от BARABANTEMO
 
Регистрация: 15.03.2012
Сообщений: 79

BETEPAH, а как сделать чтоб onclick или onfocus срабатывал на id="message"
Ответить с цитированием
  #4 (permalink)  
Старый 07.09.2015, 00:10
Аспирант
Отправить личное сообщение для BARABANTEMO Посмотреть профиль Найти все сообщения от BARABANTEMO
 
Регистрация: 15.03.2012
Сообщений: 79

я делал так но не то
$("#message").click(function(){return jilgeoves(this,event,'.geojilves');});
Ответить с цитированием
  #5 (permalink)  
Старый 07.09.2015, 12:11
Аспирант
Отправить личное сообщение для nesnayka Посмотреть профиль Найти все сообщения от nesnayka
 
Регистрация: 06.09.2015
Сообщений: 61

Сообщение от BARABANTEMO Посмотреть сообщение
BETEPAH, а как сделать чтоб onclick или onfocus срабатывал на id="message"
Вставить onclick(onfocus)="return jilgeoves(this,event,'.geojilves');" в тег с id="message". Или так, как вы и делали:
Сообщение от BARABANTEMO Посмотреть сообщение
я делал так но не то
$("#message").click(function(){return jilgeoves(this,event,'.geojilves');});
А почему не то?
Ответить с цитированием
  #6 (permalink)  
Старый 07.09.2015, 12:39
Аспирант
Отправить личное сообщение для BARABANTEMO Посмотреть профиль Найти все сообщения от BARABANTEMO
 
Регистрация: 15.03.2012
Сообщений: 79

nesnayka, а потому что скрипт не запускается посмотрите сами
Ответить с цитированием
  #7 (permalink)  
Старый 07.09.2015, 19:10
Аспирант
Отправить личное сообщение для nesnayka Посмотреть профиль Найти все сообщения от nesnayka
 
Регистрация: 06.09.2015
Сообщений: 61

Сообщение от BARABANTEMO Посмотреть сообщение
nesnayka, а потому что скрипт не запускается посмотрите сами
Посмотрел.

<textarea id="message" onKeyPress="return jilgeoves(this,event,'.geojilves');"></textarea>

<script type="text/javascript">
function imgjilves(t,th){
  var a=$(t).find("input.vesjilgeo");
  var lo=$($(th?th:a).find("input.vesjilgeo")).is(":checked");
  var e=t;lo?$(e).animate({"background-position-x":"0px","title":"ინგლისური კლავიატურის ჩართვა"},150,"linear"):$(e).animate({"background-position-x":"-28px","title":"ქართული კლავიატურის ჩართვა"},150,"linear");$(a).prop("checked",lo);
}
function jilgeoves(t,e,l){
  var checkbox=$("label"+l+" input.vesjilgeo");
  en={a:"ა",A:"ა",b:"ბ",B:"ბ",g:"გ",G:"გ",d:"დ",D:"დ",e:"ე",E:"ე",v:"ვ",V:"ვ",z:"ზ",Z:"ძ",t:"ტ",T:"თ",i:"ი",I:"ი",k:"კ",K:"კ",l:"ლ",L:"ლ",m:"მ",M:"მ",n:"ნ",N:"ნ",o:"ო",O:"ო",p:"პ",P:"პ",j:"ჯ",J:"ჟ",r:"რ",R:"ღ",s:"ს",S:"შ",u:"უ",U:"უ",f:"ფ",F:"ფ",q:"ქ",Q:"ქ",y:"ყ",Y:"ყ",c:"ც",C:"ჩ",w:"წ",W:"ჭ",x:"ხ",X:"ხ",h:"ჰ",H:"ჰ"};
  var e=e||window.event,c=e.keyCode||e.which,s=String.fromCharCode(c);
  if("`"==s)return checkbox.prop("checked",!checkbox.prop("checked")),imgjilves(l,l),!1;
  var r=eval("en."+s);
  return $(checkbox).is(":checked")?void 0==r?!0:($(t).val($(t).val()+r),!1):!0;
}
$("#message").click(function(){alert(1);});
</script>

<label title="ინგლისური კლავიატურის ჩართვა" class="geojilves" onclick="imgjilves('.geojilves',this)" style="float:left; width:22px; height:18px; cursor:pointer; background:url('http://jil.do.am/che/001/img/001/geus.png') 0px 50% no-repeat;"><input checked="checked" style="display:none;" class="vesjilgeo" type="checkbox"></label>


Вполне себе нормально работает. При клике по texarea выводит 1.
Но кусок
$("#message").click(function(){return jilgeoves(this,event,'.geojilves');});

не будет работать сам по себе, т.к. ф-ция jilgeoves отслеживает нажатия клавиш и априори должна быть привязана к обработчику onKeyPress или onKeyDown/onKeyUp.

Давайте Вы нам расскажете, что вы хотите сделать, вообще.
Ответить с цитированием
  #8 (permalink)  
Старый 07.09.2015, 22:20
Аспирант
Отправить личное сообщение для BARABANTEMO Посмотреть профиль Найти все сообщения от BARABANTEMO
 
Регистрация: 15.03.2012
Сообщений: 79

я хочу сделать так чтобы данная функция переключения языков запускалась с помощью идентификатора #message так как я хочу поставить этот скрипт в личных сообщениях на ucoz а там нет textarea чтобы добавить в нём onKeyPress="return jilgeoves(this,event,'.geojilves');"
Ответить с цитированием
  #9 (permalink)  
Старый 07.09.2015, 23:16
Аспирант
Отправить личное сообщение для nesnayka Посмотреть профиль Найти все сообщения от nesnayka
 
Регистрация: 06.09.2015
Сообщений: 61

Тогда вот так (стоит заметить, что аргументы у ф-ции я поубирал и присвоил нужным переменным значение внутри ф-ции):
<textarea id="message"></textarea>

<script type="text/javascript">
function imgjilves(t,th){
  var a=$(t).find("input.vesjilgeo");
  var lo=$($(th?th:a).find("input.vesjilgeo")).is(":checked");
  var e=t;lo?$(e).animate({"background-position-x":"0px","title":"ინგლისური კლავიატურის ჩართვა"},150,"linear"):$(e).animate({"background-position-x":"-28px","title":"ქართული კლავიატურის ჩართვა"},150,"linear");$(a).prop("checked",lo);
}
function jilgeoves(event){
  var t = document.getElementById('message');
  var e = event;
  var l = '.geojilves';
  var checkbox=$("label"+l+" input.vesjilgeo");
  en={a:"ა",A:"ა",b:"ბ",B:"ბ",g:"გ",G:"გ",d:"დ",D:"დ",e:"ე",E:"ე",v:"ვ",V:"ვ",z:"ზ",Z:"ძ",t:"ტ",T:"თ",i:"ი",I:"ი",k:"კ",K:"კ",l:"ლ",L:"ლ",m:"მ",M:"მ",n:"ნ",N:"ნ",o:"ო",O:"ო",p:"პ",P:"პ",j:"ჯ",J:"ჟ",r:"რ",R:"ღ",s:"ს",S:"შ",u:"უ",U:"უ",f:"ფ",F:"ფ",q:"ქ",Q:"ქ",y:"ყ",Y:"ყ",c:"ც",C:"ჩ",w:"წ",W:"ჭ",x:"ხ",X:"ხ",h:"ჰ",H:"ჰ"};
  var e=e||window.event,c=e.keyCode||e.which,s=String.fromCharCode(c);
  if("`"==s)return checkbox.prop("checked",!checkbox.prop("checked")),imgjilves(l,l),!1;
  var r=eval("en."+s);
  return $(checkbox).is(":checked")?void 0==r?!0:($(t).val($(t).val()+r),!1):!0;
}
window.onload=function(){
  var h = document.getElementById('message');
  h.onkeypress = jilgeoves;
}
</script>

<label title="ინგლისური კლავიატურის ჩართვა" class="geojilves" onclick="imgjilves('.geojilves',this)" style="float:left; width:22px; height:18px; cursor:pointer; background:url('http://jil.do.am/che/001/img/001/geus.png') 0px 50% no-repeat;"><input checked="checked" style="display:none;" class="vesjilgeo" type="checkbox"></label>


Теперь этому скрипту глубоко пофиг на все, лишь бы на странице был элемент с id="message", в котором он будет менять аглицкие буквы на грузинские и перед всем этим делом нажали грузинский флаг. ))
Ответить с цитированием
  #10 (permalink)  
Старый 07.09.2015, 23:37
Аспирант
Отправить личное сообщение для BARABANTEMO Посмотреть профиль Найти все сообщения от BARABANTEMO
 
Регистрация: 15.03.2012
Сообщений: 79

nesnayka, большое спасибо всё как всегда в точку думаю тему можно закрывать
да ещё на по следок я заменил
window.onload=function(){
  var h = document.getElementById('message');
  h.onkeypress = jilgeoves;
}

на
$(document).ready(function(){
  var h = document.getElementById('message');
  h.onkeypress = jilgeoves;
});

чтобы не ждать полной загрузки страницы - думаю всё верно
ещё раз спасибо!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно с помощью скрипта поменять порядок вывода записи? ligisayan jQuery 3 25.06.2015 21:51
Создание с помощью скрипта html элемента Anastasiya Общие вопросы Javascript 4 25.10.2011 22:28
Запуск php скрипта через ajax hagen3 AJAX и COMET 2 09.09.2011 03:51
Чем можно организовать запуск скрипта атом. по времени. I5Rek Серверные языки и технологии 2 01.05.2011 23:00
Запуск js-функции на странице из скрипта Bazzilic Серверные языки и технологии 3 20.04.2010 09:53