1

まず、sIFR3、r419 を使用しています (フラッシュにアクセスできないため、アップグレードできません...)。既存のすべての H1、H2、および H3 を sIFR に置き換えた Web ページを取得しました。これは魅力のように機能します。しかし、YUI リッチ テキスト エディターを使用したいと考えています。そのエディタの特徴は、ツールバーで H1、H2、および H3 も使用することです。これらの 2 つの組み合わせは、ええと、かなり醜いです :) エディター全体は、クラス「yui-skin-sam」の div 内にあります。sifr-config.js の先頭に、sIFR の WIKI から提案されたコードを追加しました。

parseSelector.pseudoClasses = {
'not': function(nodes, selector) {
var result = [];
each: for(var i = 0, node; i < nodes.length; i++) {
  node = nodes[i];
  var ignore = parseSelector(selector, node.parentNode);
  for(var j = 0; j < ignore.length; j++) {
    if(ignore[j] == node) continue each;
  }
  result.push(node);
}
return result;
}
}

そして私の質問は: div ".yui-sam-skin" 内にあるものを除いて、すべての H1、H2、H3 を選択するには、sifr-config.js で何をすべきですか? より正確には、セレクターをどのように指定すればよいですか?

前もって感謝します!

ザイバー

追加: セレクターを h2 から div:not(.yui-toolbar-titlebar)>h2 に変更すると、ある程度機能します。セレクターを div:not(.yui-sam-skin)>h2 に設定すると機能しません - それでも sifr'd テキストに変更されます。スクリプトは h2 にクラス .sifr-active を適用し、h2 を非表示にするため、うまくいくと言いました。

.sIFR-active .yui-toolbar-titlebar h2 {
    visibility: visible;
    font-family: verdana, sans-serif;
}

そして、それは迷惑に感じます!この問題は sIFR3 の新しいバージョンで解決されていますか?

再度、感謝します!

4

2 に答える 2

0

さて、ついに醜い修正を思いつきました。sifr-config.js の上に:

function sIFRignore(selector) {
    var nodes = sIFR.dom.querySelectorAll(selector);
    for(var i=0; i < nodes.length; i++) {
        var node=nodes[i];
        node.style.visibility  = 'visible';
        node.style.fontFamily  = 'Verdana';
        sIFR.dom.addClass("sIFR-ignore", node);
    }
    return true;                
}

.sIFR-active! これは既知のバグですが、動作します (ほぼ!)。

そのため、sIFR.activate の直前に次の行を追加しました

sIFRignore(".yui-skin-sam * h2");
sIFRignore(".yui-skin-sam * h3");
于 2009-06-18T22:16:21.433 に答える
0

div:not(.yui-sam-skin) h2動作するはずです... セレクターは sIFR の適切な範囲外にあるため、以降のバージョンでは何も変更されません。たとえば、セレクター コードを jQuery に交換してみてください: http://wiki.novemberborn.net/sifr3/parseSelector

于 2009-06-18T12:04:55.947 に答える