2013-10-10 1 views
0

Может ли кто-нибудь изменить этот код на [Добавить, щелкнув левой кнопкой мыши по номеру] и [Вычесть, щелкнув правой кнопкой мыши номер]?Add/Subtract Click Функция

Это избавит вас от кнопок + и -.

Я не могу понять, как это сделать.

DEMO

HTML

<input id="txtNumber" type=text" value="55" style="width:30px" /> 
<input id="btnAdd" type="button" value="+" onclick="add();" /> 
<input id="btnSubtract" type="button" value="-" onclick="subtract();" /> 

Javascript

function add() 
{ 
    var txtNumber = document.getElementById("txtNumber"); 
    var newNumber = parseInt(txtNumber.value) + 1; 
    txtNumber.value = newNumber; 
} 

function subtract() 
{ 
    var txtNumber = document.getElementById("txtNumber"); 
    var newNumber = parseInt(txtNumber.value) - 1; 
    txtNumber.value = newNumber; 
} 
+0

Различают левый и правый щелчок: http://stackoverflow.com/a/2725963/2812842 –

+0

Ваш код, кажется, работает, если я возвращаю false, а не передаю параметр события для вашего контекстного события. http://jsbin.com/oxeyeb/61 Edit: oh .... это не то, что вы изначально предполагали. Я ненавижу jsbin для этого. Можете ли вы включить свой исходный код? –

+0

В отличие от форумов, мы не используем «Спасибо», «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed-from-posts). –

ответ

0

Это хороший способ сделать это:

http://jsbin.com/irIwUNi/2/edit

HTML

<input id="txtNumber" type=text" value="55" 
    style="width:30px" onclick="javascript:add()" 
    oncontextmenu="javascript:subtract(event)" /> 

Javascript

function add() 
{ 
    var txtNumber = document.getElementById("txtNumber"); 
    var newNumber = parseInt(txtNumber.value) + 1; 
    txtNumber.value = newNumber; 
} 

function subtract(e) 
{ 
    e.preventDefault(); 
    var txtNumber = document.getElementById("txtNumber"); 
    var newNumber = parseInt(txtNumber.value) - 1; 
    txtNumber.value = newNumber; 
    return false; 
} 

Если вы просто установите add() для запуска по щелчку и subtract() работать на правой кнопкой мыши (когда контекстное меню придет), вы можете захватить нужные типы кликов. Затем просто перейдите в event в subtract() и остановите его от выполнения того, что он обычно будет делать, то есть поднимите контекстное меню.

+0

Да, предотвратите фокусное событие. –

+0

Удаление границы легко, просто измените атрибут стиля на 'style =" width: 30px; border: 0; "' – musicnothing

 Смежные вопросы

  • Нет связанных вопросов^_^