2013-10-10 97 views
0

任何人都可以修改此代碼爲[左鍵單擊數字添加]和[右鍵單擊數字減去]?添加/減去點擊功能

這將擺脫+和 - 按鈕。

我不知道該怎麼做。

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編輯:哦....這不是你原來的想法。我討厭那個jsbin ..你能否包含你原來的代碼? –

+0

與論壇網站不同,我們不使用「謝謝」或「任何幫助表示讚賞」,或對[so]進行簽名。請參閱「[應該'嗨','謝謝',標語和致敬從帖子中刪除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be –

回答

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()上右鍵單擊運行時(上下文菜單會來),你可以捕捉你想要的點擊類型。然後,只需傳遞eventsubtract(),並阻止其執行正常操作,即彈出上下文菜單。

+0

是的,防止焦點事件 –

+0

刪除邊框很簡單,只需將style屬性改爲'style =「width:30px; border:0;」' – musicnothing