我使用两个窗格的kendo ui splitview。这就是我试过的:
<ul>
<li data-icon="net"><a id="clicker" onclick="testfunc()" href="#emptytestpage" data-target="main-pane">Empty </a></li>
</ul>
function testfunc(){
alert("TEST");
}
</script>
这适用于使用win7或其他台式电脑的谷歌浏览器,但是当我 在Android平板电脑或iPhone上启动它不起作用。在移动设备上,onlick事件不起作用,我不知道为什么。如何用href打开一个新页面并同时启动一个功能?为什么它在桌面而不是移动设备上工作?
有人能帮助我吗?
答案 0 :(得分:1)
您应该删除内联onclick
和ontouchend
个事件。然后,您可以根据平台动态添加click
或touchend
的活动:移动版或桌面版。我还制作了fiddle。
这些方面的东西:
$(document).ready(function() {
var clickHandler = function(e) {
// Do other stuff on desktop;
alert('desktop');
},
touchendHandler = function(e) {
// Do other stuff on mobile;
alert('mobile');
},
initClickOrTouchEventFor = function(elementSelector) {
var el = $(elementSelector);
// We're on mobile.
if (mobilecheck()) {
console.log('attaching touchend event on mobile');
el.on('touchend', touchendHandler);
}
// We're on desktop.
else {
console.log('attaching click event on desktop');
el.on('click', clickHandler);
}
};
initClickOrTouchEventFor('#clicker');
});
答案 1 :(得分:0)
我不会在元素属性上放任何东西,但在jquery中设置一个事件监听器。
$("#clicker").on("click",function(evt){
evt.stopPropagation();evt.preventDefault(); //Prevents the href
//Do your thing
});
http://jsfiddle.net/uA8b6/(在iPad Mini上测试)