2013-10-10 66 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