【问题标题】:Don't hide virtual keyboard with jquery Click不要用 jquery Click 隐藏虚拟键盘
【发布时间】:2017-04-21 13:01:58
【问题描述】:
<div id="message" class="">
        <textarea id="message_input" name="message" class="inactive" data-value="Bericht..."></textarea>
        <span class="settings"></span>
        <div id="message_send"><i class="fa fa-paper-plane-o"></i></div>
    </div>

$("#message_send").click(function(){
    //not doing anything yet
});

当我专注于文本区域时,移动设备上会出现一个虚拟键盘。但是,当“单击”#message_send 按钮时,它应该保留而不是隐藏。如何在不丢失jQuery点击事件的情况下防止键盘隐藏?

【问题讨论】:

    标签: jquery mobile keyboard hide virtual


    【解决方案1】:

    尝试使用e.preventDefault() 阻止默认行为:

    $("#message_send").click(function(e){
        e.preventDefault();
    });
    

    也可以试试touchstart/touchend

    $("#message_send").on('touchstart touchend', function(e){
        e.preventDefault();
    });
    

    希望这会有所帮助。

    【讨论】:

    • 顺便说一句,你不应该像 function(e) 一样在 function() 中添加 e 吗?
    • 但要回答你的问题,是的,它被解雇了
    【解决方案2】:
    I find this solution http://jsfiddle.net/YQxXN/1/
    

    希望对你有帮助

    <textarea id="txt"></textarea>
    <input type="button" id="btnClick" value="Submit" />
    <script>
    $(document).ready(function () {
        var field = $("#txt");
        var btn = $("#btnClick");
        field.on("focusin", f1);
        field.on("focusout", f2);
        btn.on("mousedown", f3);
    
        function f1() {
            field.removeClass("c1").addClass("c2");
        }
    
        function f2() {
            field.removeClass("c2").addClass("c1");
        }
    
        function f3() {
            alert('hi');`enter code here`
        }
    
    });
    </script>
    

    【讨论】:

      【解决方案3】:

      试试这个

      BLABLABAL

      猜你喜欢
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-20
      相关资源
      最近更新 更多