Javascript Jquery不允许在文本区域中使用换行符
我有个奇怪的问题。在添加对Jquery 1.7.2的支持时,我无法在表单中向文本区域添加换行符。当我单击enter时,什么也没发生 我在jquery中修改了源代码,发现如果我注释掉以下代码(第4845行) 已恢复添加换行符的功能。我没有看到其他人有这个问题,所以我猜还有别的事情发生。然而,我的问题是:上面代码的目的是什么(我不是很懂javascript),删除它会带来任何风险吗?我只想删除代码并恢复textareas的换行功能,但不想在不知不觉中破坏网站。我确实注意到,执行此操作后,我在js控制台中看到一个错误:Javascript Jquery不允许在文本区域中使用换行符,javascript,jquery,forms,textarea,newline,Javascript,Jquery,Forms,Textarea,Newline,我有个奇怪的问题。在添加对Jquery 1.7.2的支持时,我无法在表单中向文本区域添加换行符。当我单击enter时,什么也没发生 我在jquery中修改了源代码,发现如果我注释掉以下代码(第4845行) 已恢复添加换行符的功能。我没有看到其他人有这个问题,所以我猜还有别的事情发生。然而,我的问题是:上面代码的目的是什么(我不是很懂javascript),删除它会带来任何风险吗?我只想删除代码并恢复textareas的换行功能,但不想在不知不觉中破坏网站。我确实注意到,执行此操作后,我在js控制
Uncaught TypeError: Cannot call method 'exec' of undefined -- jquery.js:4185
任何帮助都将不胜感激
下面是一些代码示例。html:
<form class="form-input" method="post">
<fieldset>
<ol>
<li>
<label for="activity_type_id">Activity Type <em>*</em></label>
<select name="activity_type_id"><option value="17" label="Call">Call</option><option value="23" label="Connectivity Meeting">Connectivity Meeting</option><option value="22" label="Conversation">Conversation</option><option value="16" label="Email (incoming)">Email (incoming)</option><option value="15" label="Email (outgoing)">Email (outgoing)</option><option value="19" label="Implementation Notes">Implementation Notes</option><option value="20" label="Meeting Minutes">Meeting Minutes</option><option value="18" label="Task">Task</option><option value="21" label="Tip / Unusual Attribute">Tip / Unusual Attribute</option></select> </li>
<li>
<label for="summary">Summary <em>*</em></label>
<input size="40" maxlength="80" id="summary" name="summary" value=""/>
</li>
<li>
<label for="details">Details </label>
<textarea class="wide" name="details" id="details" rows="10" columns="80"></textarea>
</li>
</ol>
</fieldset>
<input id="submit" name="addactivity" value="Add Activity" type="submit" />
</form>
活动类型*
CallConnectivity Meeting ConversationEmail(传入)Email(传出)实施说明会议分钟测试提示/异常属性
总结*
细节
以及其他插件中未包含的javascript:
<script>
// Dynamic lookup of C2 companies
$(document).ready(function ()
{
$(window).keydown(function(event)
{
if(event.keyCode == 13)
{
event.preventDefault();
return false;
}
});
$("#search_input").autocomplete(
{
source: function(request,response)
{
$("#loading-search").show();
$("#no-results").hide();
$.getJSON("/services/json/cust_search.php",request,function(data)
{
response(data);
$("#loading-search").hide();
if (data.length == 0)
{
$("#no-results").show();
} else
{
$("#no-results").hide();
}
});
},
minLength: 3,
select: function(event,ui)
{
$("#search_input").hide();
$("#search_input").val(ui.item.value);
$("#search_source").val(ui.item.source);
$("#search-form").submit();
}
});
});
</script>
<script type="text/javascript">
//---------------------------------------------------------------------------
// Hide all the submenus on start. When a non-expanded menu is clicked,
// expand that menu while collapsing the menu above it. If a menu is
// clicked when its expanded, collapse.
//---------------------------------------------------------------------------
$(function()
{
// $("dd:not(:first)").hide();
$("dd").hide();
$("#menu-nexmark").slideDown("fast");
$("dt a").click(function()
{
var curr_dd = $(this).parent().next();
if (curr_dd.css("display") != "none")
{
$("dd:visible").slideUp("medium");
return;
}
$("dd:visible").slideUp("slow");
curr_dd.slideDown("slow");
return false;
});
});
</script>
//C2公司的动态查找
$(文档).ready(函数()
{
$(窗口).keydown(函数(事件)
{
如果(event.keyCode==13)
{
event.preventDefault();
返回false;
}
});
$(“#搜索输入”)。自动完成(
{
来源:功能(请求、响应)
{
$(“#加载搜索”).show();
$(“#无结果”).hide();
$.getJSON(“/services/json/cust_search.php”),请求,函数(数据)
{
答复(数据);
$(“#加载搜索”).hide();
如果(data.length==0)
{
$(“#无结果”).show();
}否则
{
$(“#无结果”).hide();
}
});
},
最小长度:3,
选择:功能(事件、用户界面)
{
$(“#搜索_输入”).hide();
$(“#搜索输入”).val(ui.item.value);
$(“#搜索_源”).val(ui.item.source);
$(“#搜索表单”).submit();
}
});
});
//---------------------------------------------------------------------------
//开始时隐藏所有子菜单。单击未展开的菜单时,
//展开该菜单,同时折叠其上方的菜单。如果菜单是
//在其展开、折叠时单击。
//---------------------------------------------------------------------------
$(函数()
{
//$(“dd:not(:first)”).hide();
$(“dd”).hide();
$(“#菜单下一个标记”)。向下滑动(“快速”);
$(“dt a”)。单击(函数()
{
var curr_dd=$(this.parent().next();
如果(当前版本css(“显示”)!=“无”)
{
$(“dd:visible”).slideUp(“中”);
返回;
}
$(“dd:visible”).slideUp(“slow”);
电流下降(“缓慢”);
返回false;
});
});
问题在于此代码:
$(window).keydown(function(event)
{
if(event.keyCode == 13)
{
event.preventDefault();
return false;
}
});
将其设置为仅引用受影响的div(我们希望禁用“回车”功能的自动完成搜索菜单),在其他地方恢复换行功能:
$("#somediv").keydown(function(event)
{
if(event.keyCode == 13)
{
event.preventDefault();
return false;
}
});
好。。。什么是jquery.js:4185?顺便说一句,仅仅包括jQuery并不会“禁用换行符”。你一定是做了什么导致了这一切。看,这里一切都很好:也许你可以展示一个例子,说明你正在尝试如何处理行不通的换行符。像这样的东西通常是在自己的代码中调用不正确的jQuery函数的标志。听起来好像你有一个恶意的keypress事件处理程序在某处返回false。。。(在代码中,而不是jQuery中)好吧,看看
$(window).keydown()
事件处理程序。你知道它在做什么吗?看看当我包含它时会发生什么:
$("#somediv").keydown(function(event)
{
if(event.keyCode == 13)
{
event.preventDefault();
return false;
}
});