Onchange AJAX for textarea无法在Safari中使用

时间:2016-01-07 23:10:30

标签: javascript jquery html ajax safari

我有一个AJAX功能,当我在我的电脑上工作时效果很好。但是当我切换到Safari(移动)时,只有收音机会触发AJAX。怎么样?

HTML:

def email_in_use?(email)
  EmailAddress.where(confirmed_email: email).first ? true : false
end

AJAX

<input type="radio" id="q1r1" name="q1" value="Awesome" onchange="GrabData(this)">
<input type="radio" id="q1r3" name="q1" value="Awful" onchange="GrabData(this)">

<div class="comment"><textarea name='q1comment' id='comment' maxlength="400" placeholder="Add a comment (max 400 characters)" onchange="GrabC(this)"></textarea>

再一次,在我的电脑上工作正常,textarea onchange似乎不适用于手机上的Safari。无法弄清楚原因!

1 个答案:

答案 0 :(得分:1)

尝试keyup事件以及change;当您模糊,关注(不确定)此元素时会change触发,但keyup实际上会在用户键入/点击键时侦听更改。

&#13;
&#13;
$('input[type="text"]').on('change keyup', function(){
    $('#console').text($('#console').text()+ "\r\n"+ this.value);
});
$('textarea').on('change keyup', function(){
    $('#console').text($('#console').text()+ "\r\n"+ this.value);
    /** Send to AJAX 
       GrabC(this);
       GrabData(this);
    **/
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input type="text"/>
<textarea row="4"></textarea>
<pre id="console"></pre>
&#13;
&#13;
&#13;