2016-09-26 8 views
0

このコード部分をHTMLページで使用したいのですが、正常に動作しますが、バリデータでエラーを修正する方法がわかりません。私はdivに機能を入れましたが、aには同じエラーがあります。ここにはstackoverflow questionのリンクがあります。ontouchend属性には検証エラーがありますが、正常に動作します

これは、バリデータのエラーです:私はJSで

:hover { 
    background: red; 
} 

function fix() { 
    var el = this; 
    var par = el.parentNode; 
    var next = el.nextSibling; 
    par.removeChild(el); 
    setTimeout(function() { 
     par.insertBefore(el, next); 
    }, 0); 
} 

そして、私のHTMLに私が持っている。ここ

Error: Attribute ontouchend not allowed on element div at this point.

は、CSSコードであります:

<a href="#" ontouchend="this.onclick=fix">test</a> 
+0

この部分は私にとって怪しいようです: 'this.onclick = fix'ここで何を達成しようとしていますか? – jmargolisvt

+0

iPhone、iPadなどのホバリングに問題があります。リンクをクリックすると、CSSホバーがアクティブになり、この機能で、画面に触れるとCSSが削除されます。 – coolio83000

答えて

0

ontouchend属性は標準化されていません。それは広くサポートされていません。これは、いくつかのブラウザで使用できることを意味しますが、バリデータは警告をスローします。

それはあなたのために働くときに単純に無視することができます。しかし、これはこの属性の行動が将来変化しないことを意味するものではありません。

引用:

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for the proper prefixes to use in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the spec changes.


Note: This attribute has not been formally standardized. It is specified in the Touch Events – Level 2 Editor's Draft specification and not in Touch Events Recommendation. This attribute is not widely implemented.

MDNドキュメントherehere内の属性については、こちらをご覧ください。

+0

ああ、同じ結果を得るための安全な方法がありますか? – coolio83000

+0

ええ、私は実際には分かりません。たぶんJSライブラリか何か。しかし、実際にタッチイベントは標準化されていません。つまり、既定の方法*はありません。ごめんなさい。 @ coolio83000 – eisbehr

+0

はい、それは簡単な質問だと思っていましたが、私は道を見つけるのに2時間を使うと思うので、CSSをタッチスクリーンでアクティブにしなければなりません!!今それを修正する方法はありません!あなたの助けてくれてありがとう@eisbehr – coolio83000

関連する問題