Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   проблема с мнемониками (https://javascript.ru/forum/dom-window/32387-problema-s-mnemonikami.html)

webart 14.10.2012 22:54

проблема с мнемониками
 
Доброго времени.
Пишу калькулятор в котором нажатие на кнопки перехватывается js
switch ($("span" , this).html()) {}

все хорошо перехватывается и работает но , есть у меня кнопка оформленная в виде мнемоника ← , вот нажатие на эту кнопку определить из js не могу.
Подскажите как мне заставить js понять нажатие. как передать мнемоник в параметре.

Your 15.10.2012 04:46

Это в буквальном смысле событие нажатия.
От того, что "Мнемоника" называется, вас пугает?)))

webart 15.10.2012 08:37

Нет меня ничего не пугает. приведу пример .
при нажатие на кнопку :
<span>&#8592;</span>

должен сработать обработчик .
//Калькулятор
$(document).ready(function() {
      $("#ekran span").html("0");
      $(".buttom").click(function() {
      	  if($("#ekran span").html() != 0) {
      	      switch ($("span" , this).html()) {
      	          case "=":
                      $("#ekran span").html(eval($("#ekran span").html()));
      	          break;
      	          case "&#8592;":
      	              //$("#ekran span").html($("#ekran span").html().substring(0, $("#ekran span").html().length - 1));
      	          break;
      	          case "c":
                       $("#ekran span").html("0");
      	          break;
                  default :
                      $("#ekran span").html($("#ekran span").html() + $("span" , this).html());
                  break;
      	      }
          } else {
          	  $("#ekran span").html($("span" , this).html());
          }
      });
});


Но скрипт не понимает что я от него хочу и действие не происходит. подскажите как решить эту проблему.

Your 15.10.2012 11:27

Цитата:

Сообщение от webart
Нет меня ничего не пугает.

Хреново)))


<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Example</title>
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
	<script type="text/javascript">
		$(document).ready(function() {
			$('.button').click(function() {
				var span=parseInt($('.div span').text());
				if(span===0) {
					$('.div span').html(span+$('.button').html());
				}
			});
		});
	</script>
</head>
<body>
	<span class="button">←</span>
	<div class="div">
		<span>0</span>
	</div>
</body>
</html>



Я хз, что у вас, ну вы тут намудрили <матное слово>.

Объясните подробнее задачу, что вы там делаете.

danik.js 16.10.2012 14:29

console.log($("span" , this).html())

либо точка останова

либо тупо alert($("span" , this).html())

это элементарнейшие способы отладки.

И что мешает писать вместо &#8592; знак ← ?

webart 16.10.2012 16:45

не дождался ответа , прикрутил кастыль , дал кнопке id и по id определяю что нажимают на нее . а по поводу отладки, я так и делаю .

Gvozd 16.10.2012 19:24

<span>&#8592;</span>
<script>
alert(document.getElementsByTagName('span')[0].innerHTML == '\u2190');
</script>

Числло 8592 в десятичной системе равно числу в шесатнадцатиричной

Gvozd 16.10.2012 19:28

Цитата:

Сообщение от webart
, прикрутил кастыль , дал кнопке id и по id определяю что нажимают на нее .

Как по мне костыль - это использование надписи кнопки
Если вы завтра решите заменить надпись на ⇐ , или вообще картинку, то вам придется править везде
Если же вы будете использовать ID, то такого не произойдет


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