In this article DDL Triggers you'll find that there are no INSTEAD OF DDL Triggers, like in DML Triggers, so you can't prevent the drop and execute your own command instead:
DDL triggers fire only after the DDL statements that trigger them are run. DDL triggers cannot be used as INSTEAD OF triggers. DDL triggers do not fire in response to events that affect local or global temporary tables and stored procedures.
This piece of code you posted is for logging DROP TABLE event. eventdata()
contains XML with some information on the event: LoginName, ObjectName, TSQLCommand, PostTime and many more.