我试图将键盘事件传递给特殊类别的HTML元素(数学羽毛跨度)。 (按键被捕获的程度较高,因此我必须用勺子喂下来。)执行此操作的标准方法似乎是使用jQuery的.trigger,如this previous question中所建议。但是,该解决方案对我毫无帮助。我一生无法找到问题所在。

该代码应创建一个MathQuill框,然后在其中输入字母“ f”。但是该框仍然是空的。

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="mathquill-master/mathquill.css">
    </head>

    <body>

        <!-- loading external scripts -->
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript" src="mathquill-master/mathquill.min.js"></script>

        <!-- MathQuill box -->
        <span class="mathquill-editable" id="mathquill_box"></span>

        <script type="text/javascript">

            $(function() {
                $('.mathquill-editable').focus();

                // creating 'fake' custom event (pressing the 'F' key)
                // (this is taken directly from the answer to the previous question)
                var customKeyDownEvent = $.Event('keydown');
                customKeyDownEvent.bubbles = true;
                customKeyDownEvent.cancelable = true;
                customKeyDownEvent.charCode = 70; // key code for 'F'
                customKeyDownEvent.keyCode = 70;
                customKeyDownEvent.which = 70;

                // send the event to the MathQuill box
                $('.mathquill-editable textarea').trigger(customKeyDownEvent);

              });
            </script>

    </body>

</html>


任何帮助将不胜感激!

最佳答案

使用mathquill的内置write方法在当前光标位置插入乳胶。例如:

$('.mathquill-editable').mathquill('write', 'x^2')


请参阅my previous answer以了解稍后如何对焦。

关于javascript - 在jQuery中传递按键(至MathQuill),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31527746/

10-11 06:08