找了一个是在IE下很好用而在火狐下却不行,导致我在JS里的AJAX也掉不出来了。。
我现在代码是先JS屏蔽默认回车事件 然后指定所有多行文本框例外
function document.onkeydown() {
if (event.keyCode == 13 && event.srcElement.tagName.toUpperCase() != "TEXTAREA") {
event.returnValue = false;
}
}
然后在后台代码里写的
//搜索框默认回车
txtlink.Attributes["onkeydown"] = " if(event.keyCode===13){ document.getElementById('" + ImgSub.ClientID + "').click();}";
这么写在IE下没事,在火狐下就不行啊,我还加了个JS来判断是火狐还是IE再执行屏蔽所有回车但是FF总能跨过我写的判断浏览器的if执行里边的东西,而我要是写个alert();这个倒是能根据浏览器输出alert的东西。。判断的js如下
function getOs() {
var OsObject = "";
if (navigator.userAgent.indexOf("MSIE") > 0) {
return "MSIE";
}
if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) {
return "Firefox";
}
if (isSafari = navigator.userAgent.indexOf("Safari") > 0) {
return "Safari";
}
if (isCamino = navigator.userAgent.indexOf("Camino") > 0) {
return "Camino";
}
if (isMozilla = navigator.userAgent.indexOf("Gecko/") > 0) {
return "Gecko";
}}
var isIE = getOs();
if (isIE === 'MSIE') {
//关闭默认回事事件 所有多行文本框例外
function document.onkeydown() {
if (event.keyCode == 13 && event.srcElement.tagName.toUpperCase() != "TEXTAREA") {
event.returnValue = false;
}
}
}
谁有更好的例子么兼容火狐IE的文本框按回车到指定按钮的
我现在代码是先JS屏蔽默认回车事件 然后指定所有多行文本框例外
function document.onkeydown() {
if (event.keyCode == 13 && event.srcElement.tagName.toUpperCase() != "TEXTAREA") {
event.returnValue = false;
}
}
然后在后台代码里写的
//搜索框默认回车
txtlink.Attributes["onkeydown"] = " if(event.keyCode===13){ document.getElementById('" + ImgSub.ClientID + "').click();}";
这么写在IE下没事,在火狐下就不行啊,我还加了个JS来判断是火狐还是IE再执行屏蔽所有回车但是FF总能跨过我写的判断浏览器的if执行里边的东西,而我要是写个alert();这个倒是能根据浏览器输出alert的东西。。判断的js如下
function getOs() {
var OsObject = "";
if (navigator.userAgent.indexOf("MSIE") > 0) {
return "MSIE";
}
if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) {
return "Firefox";
}
if (isSafari = navigator.userAgent.indexOf("Safari") > 0) {
return "Safari";
}
if (isCamino = navigator.userAgent.indexOf("Camino") > 0) {
return "Camino";
}
if (isMozilla = navigator.userAgent.indexOf("Gecko/") > 0) {
return "Gecko";
}}
var isIE = getOs();
if (isIE === 'MSIE') {
//关闭默认回事事件 所有多行文本框例外
function document.onkeydown() {
if (event.keyCode == 13 && event.srcElement.tagName.toUpperCase() != "TEXTAREA") {
event.returnValue = false;
}
}
}
谁有更好的例子么兼容火狐IE的文本框按回车到指定按钮的
var currentKey = evt.charCode||evt.keyCode; // 打印对象的value属性
function document.onkeydown()
{
if (Number(currentKey) == 13 && event.srcElement.tagName.toUpperCase() != "TEXTAREA")
{
event.returnValue = false;
}
}
var currentKey = evt.charCode||evt.keyCode; // 打印对象的value属性
function document.onkeydown()
{
if (Number(currentKey) == 13)
{
event.returnValue = false;
}
}
missing ( before formal parameters
[在此错误处中断] function document.onkeydown() {
这个额。。
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="TextBox1" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="TextBox2" OnClick="Button2_Click"/>
<script type="text/javascript" src="JS/jquery-1.4.4.js"></script>
<script type="text/javascript">
$(function() {
$("input[type='text']").keypress(function(evt) {
evt = (evt) ? evt : ((window.event) ? window.event : "");
var key = evt.keyCode ? evt.keyCode : evt.which;
if (key == 13) {
var id = new String($(this).attr("id"));
var num = id.substr(id.length - 1, 1);
$("#Button" + num).click();
return false;
}
});
});
</script>
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(this.TextBox1.Text);
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Write(this.TextBox2.Text);
}测试环境 firefox 3.6, ie 8.0 都通过
function document.onkeydown(event) {
if (event.keyCode == 13 && event.srcElement.tagName.toUpperCase() != "TEXTAREA") {
event.returnValue = false;
}
}
var evt = event ? event : (window.event ? window.event : null);
if (evt.keyCode == 13 && evt.srcElement.tagName.toUpperCase() != "TEXTAREA") {
evt.returnValue = false;
}
}
但是现在FF不认event这个事件。又惆怅了。。
又报了。。uncaught exception: Syntax error, unrecognized expression: #这个了。。哎。。
var evt = event ? event : (window.event ? window.event : null);
if (event.keyCode == 13) {
document.getElementById("b1").focus();
}
}
function show(){
alert("你点击了我");
}
</script>
<input type="text" onKeyPress="funname(event);">
<input type="button" value="提交" id="b1" onClick="show()">
就是多个文本框按回车到指定按钮事件
现在js改成document.onkeydown = function(event) {
if (event.keyCode == 13 && event.srcElement.tagName.toUpperCase() != "TEXTAREA") {
event.returnValue = false;
}
}最起码能让写的AJAX生效了。。原来的时候报错了连AJAX输出的东西都出不来。。
CS里的代码是 txtpwd.Attributes["onkeydown"] = "if(event.keyCode===13){Logintxt();}";结果。。现在还是没达到那种效果。在文本框按回车的时候确实执行了他该执行的方法了。但是还是触发了我一个服务器控件按钮的事件。。