1

私はいくつかのjQueryに出くわしました:

  .on('mousedown.minicolors', '.minicolors-swatch', function  (event) {

       --  some code  --
   }) 

コントロールは、マウスダウンに応答して jQuery.min.js から直接ここに来ました。

最初の質問は、on() メソッドが取り組んでいるラップされたセットは何ですか? 次に、ドキュメントを読むと、mousedown 後の .minicolors は「名前空間」のようです。「mousedown」は、実際にここで作成されたプラグインの名前です。しかし、この名前空間は、mousedown.minicolors で何をするのでしょうか?

ここに明確さを追加していただきありがとうございます。

ありがとう

4

3 に答える 3

3

名前空間を使用すると、次のようにイベント ハンドラーを簡単に削除できます。

.off('mousedown.minicolors');

それ以外の場合は、元のイベント ハンドラー自体も渡して、イベント ハンドラーを削除する必要があります。

var originalEventHandler = function() { ... };
el.on('mousedown', originalEventHandler)
el.off('mousedown', originalEventHandler)
于 2013-04-24T11:16:36.400 に答える
0

.on が適用されているラップされたセットについては、$(document) であることがわかります。コードは次のとおりです。

//Handle Events
$(document)

.on('mousedown.minicolors', '.minicolors-grid', function (event) {
              })
.on('mousedown.minicolors', '.minicolors-space', function (event) {
              })
.on('mouseover.minicolors', '.minicolors-grid', function (event) {
              })
.on('mouseover.minicolors', '.minicolors-space', function (event) {
              }); 

これは実際には

//Handle Events
$(document).on(...).on(...).on(....).on(...);

句読点は私を投げていました、そしてそれはまだすべてのイベントハンドラーを定義する奇妙な方法のように思えますが、うまくいくと思います.

名前空間の説明ありがとうございます。

于 2013-04-24T14:46:11.170 に答える