J'appelle une fonction chaque fois que quelqu'un appuie sur enter dans le textarea
. Maintenant, je veux désactiver new line
ou break
quand enter est pressé.
Donc new line
devrait fonctionner quand shift+enter est pressé. Dans ce cas, la fonction ne devrait pas être appelée.
Voici la démo de jsfiddle: http://jsfiddle.net/bxAe2/14/
essaye ça
$("textarea").keydown(function(e){
// Enter was pressed without shift key
if (e.keyCode == 13 && !e.shiftKey)
{
// prevent default behavior
e.preventDefault();
}
});
mettre à jour votre violon à
$(".Post_Description_Text").keydown(function(e){
if (e.keyCode == 13 && !e.shiftKey)
{
// prevent default behavior
e.preventDefault();
//alert("ok");
return false;
}
});
Pour Angular Utilisateurs
Bien qu'il existe des solutions de travail existantes, si quelqu'un rencontre cette question à l'aide de Angular , vous pouvez désactiver les nouvelles lignes avec les éléments suivants:
Ajouter <textarea ng-trim="false" ng-model='your.model' ...
Dans votre contrôleur, ajoutez:
$scope.$watch('your.model', function(newvalue, oldvalue) {
if (newvalue && newvalue.indexOf('\n') > -1) {
$scope.your.model = oldvalue;
}
});
$(".Post_Description_Text").keypress(function(event) {
if (event.which == 13) {
alert("Function is Called on Enter");
event.preventDefault(); //Add this line to your code
}
});