为提升您的使用体验,本站正在维护,部分功能暂时无法使用。如果本站文章无法解决您的问题,您想要向社区提问的话,请到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 提问,我们的支持社区将会很快回复您的疑问。

搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

how to stop ctrl-v from modifying UI

  • 4 个回答
  • 1 人有此问题
  • 1 次查看
  • 最后回复者为 smiske

more options

I am trying to stop Ctrl-V from modifying the UI. When someone types Ctrl-V the field becomes 0 or blank. The fields that are a problem are Read Only fields, so they should never change.

<input name="__Update_RWRadiusofOperation_13010_472_Int__Ctrl" value="50" readonly="readonly" id="__Update_RWRadiusofOperation_13010_472_Int__Ctrl" placeholder="Radius of Operation" onpaste="return('false')" input="DontAllowPaste()" onkeydown="DontAllowPaste()" class="form-control" style="color:#00ff00!important;" type="text">

Dontallowpaste() return false;

the above code is from after I have pressed Ctrl-V the screen shows 0, but above it shows 50

I am trying to stop Ctrl-V from modifying the UI. When someone types Ctrl-V the field becomes 0 or blank. The fields that are a problem are Read Only fields, so they should never change. <input name="__Update_RWRadiusofOperation_13010_472_Int__Ctrl" value="50" readonly="readonly" id="__Update_RWRadiusofOperation_13010_472_Int__Ctrl" placeholder="Radius of Operation" onpaste="return('false')" input="DontAllowPaste()" onkeydown="DontAllowPaste()" class="form-control" style="color:#00ff00!important;" type="text"> Dontallowpaste() return false; the above code is from after I have pressed Ctrl-V the screen shows 0, but above it shows 50
已附加屏幕截图

被采纳的解决方案

I have tried so many different things based on what I have googled and I am not sure why this didn't originally work for chrome, but this now works across all the browsers that run under windows

TextControl.Style.Add("color", "#00ff00!important") TextControl.Attributes.Add("onkeydown", "return(false)")

定位到答案原位置 👍 0

所有回复 (4)

more options

I get the desired results in Firefox if I set dom.event.clipboardevents.enabled = false. Is there a way to programmatically set something on each object or does it really need to be at the browser level or can you fix Firefox not to have this behavior of modifying the value with invalid info.

more options

That's puzzling because readonly should be all you need. What else is going on in the page that might be bypassing readonly? Can you post a stripped down test case that demonstrates the problem?

Also, I don't think this makes sense:

onpaste="return('false')"

unless you have other code that looks for the text false.

For testing, you could try:

onpaste="console.log('Paste intercepted'); return false;"

more options

smiske said

<input name="__Update_RWRadiusofOperation_13010_472_Int__Ctrl" value="50" readonly="readonly" id="__Update_RWRadiusofOperation_13010_472_Int__Ctrl" placeholder="Radius of Operation" onpaste="return('false')" input="DontAllowPaste()" onkeydown="DontAllowPaste()" class="form-control" style="color:#00ff00!important;" type="text">

Also, I don't think "input" is a valid attribute in the "input" tag. Please test without it in case that is confusing Firefox.

more options

选择的解决方案

I have tried so many different things based on what I have googled and I am not sure why this didn't originally work for chrome, but this now works across all the browsers that run under windows

TextControl.Style.Add("color", "#00ff00!important") TextControl.Attributes.Add("onkeydown", "return(false)")