<asp:TextBox ID="txtPurpose" CssClass="dd" runat="server" MaxLength="500" OnKeyUp="return maxlength();" OnPaste="return maxlength();" TextMode="MultiLine"
Width="70%" Rows="4" ValidationGroup="tool"></asp:TextBox>
在javascript中
function maxlength()
{
var max = 500;
if ($('.dd').focus().val().length > max)
{
$('.dd').val($('.dd').val().substr(0, max));
}
$('.charsRemaining').html('You have ' + (max - $('.dd').val().length) + ' characters remaining');
}
它运行正常但是在复制某些内容并使用鼠标右键单击$('。dd')将其粘贴到textarea中时,focus()。val()将作为空字符串。怎么做
答案 0 :(得分:0)
我认为这个问题是在您捕获事件时,剪贴板的内容尚未传输到文本框。
以下内容应该有所帮助:
event.returnValue = false;
var clipString = window.clipboardData.getData("Text", sNewString);
有关详细信息,请参阅Microsoft OnPaste event。
但是,请注意onpaste事件。
来自http://reference.sitepoint.com/html/extended-event-attributes/onpaste:
它定义的非标准事件 Microsoft用于Internet 资源管理器。它可能在其他一些方面有用 浏览器但无法可靠地使用。 这种非标准的兼容性 属性未经过测试。