1

逆疑問符など、さまざまなスペイン語の文字をテキスト ボックスに挿入できるツールを作成しようとしています。私は現在以下を持っていますが、これは戻ります:

function (e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}¿

HTML

<div class="container">
<textarea id="text"></textarea>
<div id="one">&#191;</div>

JS

$('document').ready(function() {
$('#one').click(function() {
    $('#text').val($('#text').val + '&#191;');
});
});

この出力を受け取る理由について何か考えはありますか? また、HTML エンティティはテキスト ボックス内で機能しますか? コンソールにエラーは表示されません。

JSFiddle

4

2 に答える 2

2

$("#text").valあなたが呼び出すはずの関数です。

とはいえ、jQuery は、このような些細なタスクに対しては非常にやり過ぎです。

document.getElementById('one').onclick = function() {
    document.getElementById('text').value += "\u00bf";
}

\u00bfは ¿ の適切な JavaScript エスケープ シーケンスであることに注意してくださいbf- 19116 進数です。

編集: または、Alt を押したまま、キーパッドで 0191 と入力します。これにより、JSが行う入力の最後ではなく、入力している場所に直接 ¿ が生成されます。

于 2013-11-03T13:35:28.793 に答える
0

これを試してみてください。あなたのフィドルで働いた。

$(function() {
    $('#one').on('click', function() {
        $('#text').val($('#text').val() + "¿");
    });
});

更新: ASCII の代わりにスペイン語の疑問符を投稿$(document).readyし、より短い方法$(function()に変更し、後に括弧を追加しましたval()

于 2013-11-03T13:45:15.980 に答える