我对使用touche.js感兴趣,我通过teamTreehouse每周节目听到过。
我是否错误地理解了它的使用和实施?
你是否只是在touche.js之前添加一个jQuery,然后调用该函数?
<!-- jQuery -->
<script type="text/javascript" src="/path/to/jQuery.js"></script>
<!-- somewhere before the rest of your JavaScript code -->
<script type="text/javascript" src="/path/to/touche.js"></script>
// applying a click event to one element
Touche(document.querySelector('#myButton')).on('click', handleClick);
// or to multiple at once
Touche(document.querySelectorAll('.myButtons')).on('click', handleClicks);
// or with jQuery
$('.myButtons').on('click', handleClicks);
我的经历如下, 我为你自然点击的所有元素添加了一个类。 (即链接,提交按钮等),在touche.js库之前添加jQuery,然后调用,
$('.myButtons').on('click', handleClicks);
但是,我在控制台中收到'errorUncaught ReferenceError:handleClicks is defined defined'错误。这导致我搜索handleClicks方法,我认为这是缺少的并且自然导致错误...但令我惊讶的是我发现没有handleClicks方法。任何见解都会很棒!
谢谢,所以我认为handleClicks函数会是这样的吗?
function handleClicks(){
$('a').click();
}
我猜选择器会填满我想要影响的所有项目吗?
答案 0 :(得分:1)
免责声明: 我没有使用过该库,未对其进行测试,答案基于其文档。
触摸工作不需要jQuery。所以为了澄清文档,为了在没有jQuery的情况下使用它,你可以按如下方式调用它,Touche(document.querySelector('#myButton')).on('click', handleClick);
或
Touche(document.querySelectorAll('.myButtons')).on('click', handleClicks);
使用jQuery,
$('.myButtons').on('click', handleClicks);
在所有情况下,handleClicks都是由您定义的函数。
function handleClicks(){
/*do stuff*/
}
或者你可以在上面任何一个例子中内联定义一个匿名函数,
$('.myButtons').on('click', function(){/*do stuff*/});
修改强>
根据您的上一次评论和编辑,我假设您需要在所有锚点上应用touche.js,因此请尝试以下操作,
$('a').on('click', function(e){
e.preventDefault();
/*do stuff*/
/**/
/*if you want to visit the href of the anchor then you can do*/
window.location.href=$(this).attr("href");
});
或
Touche(document.querySelectorAll('a')).on('click', function(e){
e.preventDefault();
window.location.href=$(this).attr("href");
});