2015-07-10 60 views
0

我正在使用此功能来旋转html内容。它正在处理笔记本电脑/ Mac,但当我“触摸”手机上的链接时无法工作。Href Javascript可以在桌面上使用,但不能在手机上使用

<a href="javascript:void(0)" >Link 1</a> 
<a href="javascript:void(0)" >Link 2</a> 
<a href="javascript:void(0)" >Link 3</a> 
<a href="javascript:void(0)" >Link 4</a> 
<a href="javascript:void(0)" >Link 5</a> 

单击后,html内容将动态更改。

我试图

<a href="#" onclick="javascript:;" >Link 1</a> 

也试过

<a href="javascript:;">Link 1</a> 

移动两个没有工作。任何想法为什么是这样?我是否需要在JavaScript中添加任何代码?

编辑:

触发代码是这样的。首先它使用一个类。以下是其中一种方法。

bindMoveHandler:function(target){ 
     var _this = this; 
     target.on(_this.options.trigger,'a',function(event){ 
      var w = $(this).width(); 
      var current_offset = $(this).offset(); 
      var control_offset = target.offset(); 
      var left = current_offset.left - control_offset.left; 
      var scale = w/100; 
      var d = 0; //index after move finished 

全码:http://www.jqueryscript.net/demo/jQuery-Plugin-For-Stylish-Tabbed-Slider-Kiwi-Slider/javascripts/kiwi-slider.js 如何对此进行修改建议的解决方案?

+0

如果我没有记错,touch需要一些css –

+0

我敢肯定你正在寻找这个http://stackoverflow.com/questions/134845/href-attribute-for-javascript-links-or-javascriptvoid0 – bassxzero

+0

我会尝试一下,但肯定如何编辑我当前的代码以适应此。我已经编辑我的帖子上面 – OneNation

回答

1

使用jQuery而不是onclick属性,并使用一个函数调用是这样的:

HTML:

<a href="#" id="onceClicked">Home</a> 

的jQuery(测试):

$('#onceClicked').click(function(e) { 
    $(this).text('You clicked me!'); 
}); 

一个例子页面会像这样:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Change Text</title> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
    </head> 
    <body> 
     <a href="#" class="onceClicked">Link 1</a> 
     <a href="#" class="onceClicked">Link 2</a> 
     <a href="#" class="onceClicked">Link 3</a> 
     <a href="#" class="onceClicked">Link 4</a> 
     <a href="#" class="onceClicked">Link 5</a> 

     <script> 
      $('.onceClicked').click(function(e) { 
       $(this).text('You clicked me!'); 
      }); 
     </script> 
    </body> 
</html> 

这里是一个工作示例:

http://jsfiddle.net/q87dLoc1/

但如果你想添加HTML,而不仅仅是文字,你会改变这一点:

$(this).text('You clicked me!'); 

到这样的事情:

$(this).html('<b>You clicked me!</b>'); 
+0

我想尝试,但我确定如何编辑我当前的代码,以适应。我已经修改过我的帖子 – OneNation

+0

@OneNation我已更新我的帖子,请看看。 – Zach

+0

虽然如果你想添加html而不仅仅是文本,你可以改变: '$(this).text('你点击了我!');'这样的东西:'$(this)。html('您点击了我!');' – Zach

0

您是否试过这个:

<a href="#" onclick="yourFunction(); return false">Link 1</a> 

请记住,这种方法可能会咬一个可能的返回值yourFunction()

+0

我会尝试,但我确定如何编辑我的当前代码以适应此。我修改了我的帖子 – OneNation

+0

我很少使用jQuery,因为几乎所有我用JavaScript做的事情都可以用native/vanilla脚本来完成。你的脚本对我来说是一个复杂的脚本。所以我恐怕不能再帮你了。 –

相关问题