聚焦<canvas> </canvas>

时间:2012-05-12 08:14:23

标签: javascript html css asp.net-mvc-3

我目前有2幅画布,分别展示衬衫的正面和背面。我使用了一个列表来选择是否要显示正面或背面。我只能通过锚点(#front)解决问题,但这意味着滚动到网页中的特定位置。我是否有其他方法来实现它并在页面加载时将焦点设置到前画布?

<ul style="border:0px solid yellow; padding-left:10px;">
    <li id="One">
        <a href="#One" id="first" style="height:20px; width:208px; margin-bottom:-8px; padding-bottom:0px;">
            <span style="margin-left:15px; font-size:medium;">Front Side</span>
        </a>
        <div>
            <canvas id="collage" width="450" height="450" style="margin:0px; padding:0px;"></canvas>
        </div>
    </li>
    <li id="Two">
        <a href="#Two" id="sec" style="height:20px; width:208px; margin-bottom:-8px; padding-bottom:0px;">
            <span style="margin-left:15px; font-size:medium;">Back Side</span>
        </a>
        <div>
            <canvas id="collage2" width="450" height="450" style="margin:0px; padding:0px;"></canvas>
        </div>
    </li>
</ul>

2 个答案:

答案 0 :(得分:0)

您可以为画布指定标签索引:

<canvas 
    id="collage" 
    width="450" 
    height="450" 
    style="margin:0px; padding:0px;" 
    tabindex="1">
</canvas>

然后拨打document.getElementById('collage').focus()

编辑:除了'聚焦',如果问题是模拟点击和页面加载时的href,你可以使用jQuery执行以下操作:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
    $('#One').click();
});
</script>

答案 1 :(得分:0)

<script type="text/javascript">
    function focuscanvas() {
        var canvas = document.getElementById('myGame');
        canvas.focus();
    };
</script>

每当您需要专注于画布时,将其用作onclick事件。

<button type="button" class="btn btn-default" onclick="focuscanvas()" >
    Focus on Collage
</button>