如果内部有iframe,则无法点击锚点

时间:2015-07-16 09:36:52

标签: javascript jquery html css iframe

所以基本上我有这个:

<a href="myurl">
    <iframe>...</iframe>
</a>

如果我尝试点击<a>没有任何事情发生。我还尝试向我的锚添加一个类,并尝试通过jquery捕获事件,但没有任何事情再次发生。

有没有解决方案?

3 个答案:

答案 0 :(得分:1)

iframe内置a是无效的HTML。如果您的文档无效,浏览器可以呈现并处理它,但作者认为合适,包括没有按照您的期望进行操作。

a's content model是透明的,但必须没有interactive content

  

互动内容是专门用于用户互动的内容。

     

=&GT; a audio(如果controls属性存在)button embed iframe img(如果usemap属性存在,则input(如果type属性不属于hidden状态)keygen label {{1} (如果存在object属性)usemap select textarea(如果存在video属性)

(我强调controls

相反,请将链接放在iframe的内容中。

答案 1 :(得分:1)

我发现只有使用html才能完成这项工作。所以我的例子是this

type
  TForm1 = class(TForm)
    dxSpreadSheet1: TdxSpreadSheet;
    procedure FormShow(Sender: TObject);
  public
    ATableView1 : TdxSpreadSheetTableView;
    procedure Initilize;
    procedure LoadData;
  end;

  TTest = class
  public
    procedure SaveMyData(MyValue : String);
    procedure LoadMyData;
  end;

var
  Form1: TForm1;
  Test: TTest;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
  Form1 := TForm1.Create(Self);
  Initilize;
  Test := TTest.Create;
  Test.LoadMyData;
end;

procedure TForm1.Initilize;
begin
  ATableView1 := dxSpreadSheet1.Sheets[0] as TdxSpreadSheetTableView;
end;

procedure TForm1.LoadData;
begin
  ATableView1.Cells[10,1].SetText('Test Application');
end;

procedure TTest.LoadMyData;
begin
  Form1.LoadData;
end;

我认为this解决方案:

<a href="http://www.example.com">
    <iframe style="width: 163px; height: 163px;" scrolling="no" src="http://www.example.com"></iframe>
</a>

答案 2 :(得分:0)

这是无效的HTML。您应该使用一些JavaScript来复制所需的操作。很难在平板电脑上输入代码,但会创建一个点击操作,将您带到所需的网址。