フローは次のとおりです。
ユーザーは、google.comへのリンクをクリックしてから、タグ間のテキストをクリックする必要があり<p>
ます(順不同ですが、両方のアクションを実行する必要があります)。
上記の場合、pic.pngをクリックすると、yahoo.comにアクセスします。
それ以外の場合、彼はアラートを受け取ります。
これまでのところ、これが私の試みです
フローは次のとおりです。
ユーザーは、google.comへのリンクをクリックしてから、タグ間のテキストをクリックする必要があり<p>
ます(順不同ですが、両方のアクションを実行する必要があります)。
上記の場合、pic.pngをクリックすると、yahoo.comにアクセスします。
それ以外の場合、彼はアラートを受け取ります。
これまでのところ、これが私の試みです
これを試して:
<a id="postos" href="http://google.com">eeee</a>
<p id="click">please click</p>
<a id="linkos"><img src="pic.png"></a>
JS
$(function(){
var clicked = false;
$("#linkos").on("click", function(){
if (clicked) {
window.location = 'http://google.com';
} else {
alert("Not clicked!");
}
});
$("#click").on("click", function(){
clicked = true;
});
})
必要なことは、jquery promisesで簡単に実行できます: http://jsfiddle.net/zerkms/WXVPf/1/
var yahoo = $('#yahoo'),
googleClicked = $.Deferred(),
textClicked = $.Deferred();
yahoo.on('click', function() {
alert('you need to click google and some text');
});
$('#google').on('click', function() {
googleClicked.resolve();
});
$('p').on('click', function() {
textClicked.resolve();
});
$.when(googleClicked, textClicked).done(function() {
yahoo.off('click')
.on('click', function() {
alert('you have finished this strange quest successfully');
});
});
まだ使用していない人のため$.Deferred
に、素晴らしい記事があります: http://joseoncode.com/2011/09/26/a-walkthrough-jquery-deferred-and-promise/