2014/01/21

ๅตๆธฌๅ…งๅฎนๆ”น่ฎŠ่ญฆๅ‘Š

Facebook ๆœ‰ไธ€ๅ€‹่ฒผๅฟƒ็š„ๅฐๅŠŸ่ƒฝ,ๅฆ‚ๆžœไฝ ๆœ‰็•™ไธ‹่จŠๆฏ,ไฝ†ๅœจ้‚„ๆฒ’ๆœ‰ๅ„ฒๅญ˜็š„ๆƒ…ๆณไธ‹ๆ„ๅค–็š„้›ข้–‹้ ้ขๆ™‚,Facebook ๆœƒ็ตฆไบˆ่ญฆๅ‘Š,ๅœจ่จŽ่ซ–ๅ€ๅฆ‚ๆžœๆ‰“ไบ†ไธ€ๅ †ๅญ—ๅปไธๅฐๅฟƒๆŒ‰ๅˆฐๅ›žไธŠ้ ,ๆˆ–่€…ๆ˜ฏไธๅฐๅฟƒๆŒ‰ๅˆฐๆŸๅ€‹้€ฃ็ตๆ•ด้ ็›ดๆŽฅ่ทณ่ตฐ,่€Œ็€่ฆฝๅ™จๅˆๆฒ’ๆœ‰ cache ไฝไฝ ๅ‰›่ผธๅ…ฅ็š„ๅ…งๅฎน,ๅช่ƒฝ็”จๆฌฒๅ“ญ็„กๆทšไพ†ๅฝขๅฎน,ๆ€Ž้บผๅฏฆไฝœ้€™ๅ€‹ๅŠŸ่ƒฝๅ‘ข。

HTML

Javascript
var isChanged = false;

$('select, input, textarea').on('change', function() {
        isChanged = true;
});

$(window).on('beforeunload', function() {
    if (true === isChanged) {
        return 'ๆ‚จๅทฒ็ถ“ไฟฎๆ”น้Žๅ…งๅฎน,็ขบๅฎš่ฆ้›ข้–‹ๅ—Ž?';
    }
});

็ฐกๅ–ฎไพ†่ชช,้ ่จญไธ€ๅ€‹่ฎŠๆ•ธๆ˜ฏๅซ isChange ็‚บ false,ๅตๆธฌ่ฉฒๆจ™ๅ–ฎ็š„ input、select、textarea ็ญ‰็‰ฉไปถๅ…งๅฎนๆ”น่ฎŠๆ™‚ๅฐ‡ isChage ๆ›ดๆ”น็‚บ true,็„ถๅพŒๅœจ window ็š„ beforeunload ไบ‹ไปถไธŠๅˆคๆ–ทๅฆ‚ๆžœ isChange ็‚บ true ๆ™‚ไบˆไปฅ่ญฆๅ‘Š。

demo page